बैश कहते हैं कि फ़ाइल मौजूद नहीं है, लेकिन यह है


11

मैं अपने लिंक्स WRVS4400N के लिए फर्मवेयर संकलित करने की कोशिश कर रहा हूं।

lsयह दर्शाता है कि मौजूद है, लेकिन जब इसे चलाने की कोशिश करता है तो यह कहता है कि इसका अस्तित्व नहीं है। मैं यह भी कर सकता हूं cat, और यह एक निष्पादन योग्य है, शेल स्क्रिप्ट नहीं।


उस विशेष फ़ाइल के लिए ls -la का आउटपुट क्या है?
user389238

@ एंसिस -rxxwxrwx 1 1011 1011 31991 मई 18 2006 mkdep
Avery3R

1
हमें अपनी स्क्रिप्ट और सटीक त्रुटि संदेश की पंक्ति दिखाएं। जब आप "लापता" फ़ाइल को लागू करने का प्रयास करते हैं तो आपकी वर्तमान निर्देशिका क्या है?
ग्लेन जैकमैन

@glenn यह मेरी स्क्रिप्ट नहीं है जो इसे लागू कर रही है, यह सिस्को का मेकफाइल है, मुझे ठीक-ठीक त्रुटि संदेश नहीं मिल रहा है क्योंकि यह vm में चल रहा है, लेकिन, bash: / pathto / mkdep फ़ाइल या फ़ोल्डर नहीं मिला
AveryRR

तो बस यहीं वो ट्रोल छुपा रहे हैं ...
ब्रेकथ्रू

जवाबों:


8

आपने बताया कि आउटपुट file mkdepहै 32-bit elf। आप 64-बिट VM चला रहे हैं।

उदाहरण:

$ uname -m
x86_64
$ ls -l ./example 
-rwxr-xr-x 1 root root 92312 2011-08-18 16:52 ./example
$ file ./example 
example: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped
$ ./example 
-bash: ./example: No such file or directory

बस एक नया 32-बिट वीएम बनाएं और वहां इसे संकलित करें।


1
यदि आप ia32-libs स्थापित करते हैं, तो इसे बाद में काम करना चाहिए। 32bit VM बनाने की कोई आवश्यकता नहीं है।
फिल

5

क्या यह निष्पादन योग्य है? यदि नहीं, तो chmod +x filename। क्या यह आपके पेट में है? यदि नहीं, तो ./filenameबस के बजाय इसे कॉल करें filename


इसका कार्य निष्पादन योग्य है, मैंने इसे पूरा करने के लिए।
एवरी

आपको फ़ाइल को sudo के रूप में चलाने की आवश्यकता हो सकती है।
D'Arvit

2

जब आप किसी फ़ाइल को निष्पादित करने का प्रयास करते हैं और बैश कहते हैं कि यह मौजूद नहीं है तो इसका मतलब है कि कभी-कभी इसका अर्थ यह है कि बैश फ़ाइल एक स्क्रिप्ट है और यह कि पहली पंक्ति में निर्दिष्ट दुभाषिया (#!) मौजूद नहीं है।

यदि फ़ाइलों का नाम है, mkdepमैं के उत्पादन के बाद होगा

./mkdep
file mkdep
hd mkdep | head
strace ./mkdep 2>mkdep.strace.txt

स्ट्रेस कमांड सिस्टम कॉल के बारे में जानकारी देता है, उदाहरण के strace ls 2>ls.tलिए निम्नलिखित को ls.t में डालता है

निष्पादित ("/ बिन / एलएस", ["एलएस"], [/ * २२ संस्करण * /]] = ०
brk (0) = 0x8061000
पहुंच ("/ etc / ld.so.nohwcap", F_OK) = -1 ENOENT (ऐसी कोई फ़ाइल या फ़ाइल नहीं)
mmap2 (NULL, 8192, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0) = 0xb7f82000
पहुंच ("/ etc / ld.so.preload", R_OK) = -1 ENOENT (ऐसी कोई फ़ाइल या निर्देशिका नहीं)
खुला ("/ etc / ld.so.cache", O_RDONLY) = 3
fstat64 (3, {st_mode = S_IFREG | 0644, st_size = 32311, ...}) = 0
mmap2 (NULL, 32311, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f7a000
पास (३) = ०
पहुंच ("/ etc / ld.so.nohwcap", F_OK) = -1 ENOENT (ऐसी कोई फ़ाइल या फ़ाइल नहीं)
open ("/ lib / librt.so.1", O_RDONLY) = 3
पढ़ें (3, \ "177ELF \ 1 \ 1 \ 1 \ 1 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 3 \ 0 \ 3 \ 0 \ 1 \ 0 \ 0 \ 0 \ 0 \ 0 \ 240 \) 30 \ 0 \ 0004 \ 0 \ 0 \ 0 "..., 512) = 512
fstat64 (3, {st_mode = S_IFREG | 0644, st_size = 30624, ...}) = 0

(vm पर चल रहा है, सबकुछ टाइप करने के लिए बहुत आलसी है) ./mkdep रिटर्न फाइल या फ़ोल्डर नहीं मिला। फ़ाइल mkdep रिटर्न 32-बिट योगिनी exe, और हेड mkdep द्विआधारी डेटा लौटाता है
Avery3R

1
mkdep संभवतः इस संदेश को उत्पन्न कर रहा है क्योंकि इसे एक फ़ाइल नहीं मिल सकती है जिसकी आवश्यकता है ??
Linker3000

@ linker3000: नहींं, इसे बैश कहते हैं: / गंदगी / mkdep: फ़ाइल या फ़ोल्डर नहीं मिला
Avery3R

@MMipipc: strace ./mkdep 2>mkdep.strace.txtयह कोशिश करें कि आपको कुछ विचार देना चाहिए कि क्या चल रहा है। आपको रिपॉजिटरी से स्ट्रेस स्थापित करने की आवश्यकता हो सकती है।
RedGrittyBrick

1

क्या आप अपनी स्क्रिप्ट में IFS बदल रहे हैं? मैंने भी अपनी एक स्क्रिप्ट में इसी समस्या का सामना किया और एक ही सोचा (32 बिट फ़ाइल 64 बिट मशीन पर शेल स्क्रिप्ट द्वारा पढ़ी जा रही है)। लेकिन मेरे मामले में यह मुद्दा नहीं था। इसके बजाय, मैं IFS को अल्पविराम ',' और 'नई लाइन' में बदल रहा था जिसने किसी तरह पार्सर को भ्रमित किया और इस त्रुटि का कारण बना।

मैंने अभी IFS में कोई बदलाव किया है और यह अभी ठीक काम करता है !!!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.