2010-08-16 108 views
1

我在我的linux系統上遇到了一些奇怪的行爲。我創建了一些bash腳本文件,並將其模式更改爲可執行文件。但是,有些可以被調用和執行,而有些則不可以(沒有找到錯誤的msg命令)。因此,我使用了一個基於能夠找到並執行的文件的cp文件,然後用一個文件中的內容替換了新創建的文件,這個文件無法作爲一個醜陋的工作執行。它爲我工作,但只是想知道是什麼造成了這個問題。如果有人知道一個快速解決方案,因爲這個問題正在反覆出現,那將會很棒。爲什麼我的bash shell腳本不能一致執行?

例如,你可以看到系統能夠運行blastem,但不bbrBlas

[[email protected] ~]$ /home/c052308/bbrBlas -d ./BBR -l pt -p prior.txt -r 
/home/c052308/bbrBlas: Command not found. 
[[email protected] ~]$ ./blastem 

[[email protected] ~]$ ./bbrBlas 
./bbrBlas: Command not found. 
[[email protected] ~]$ ls -l bbrBlas blastem 
-rwxr-xr-x 1 c052308 sashare 3108 Aug 18 17:03 bbrBlas 
-rwxr-xr-x 1 c052308 sashare 798 Aug 12 12:06 blastem 
+0

它們位於不同的位置嗎? – Buggabill 2010-08-16 21:01:45

+0

他們坐在同一個目錄中。 – Jim 2010-08-16 21:08:06

+0

你能提供一個例子嗎?舉個簡短​​的例子,告訴我們你的執行命令是什麼。另外,勾畫出你正在工作的目錄結構。 – 2010-08-16 21:08:37

回答

1

確保您的家當線(即第一行,用#!開始)不包含\r0x0d)如果您在DOS或Windows下編輯腳本,可能會發生這種情況。實際上,請確保您的腳本不包含任何奇怪的字符 - 使用hexdump -C來查找它們。