2013-01-09 130 views
1

改變目錄我有一個腳本文件(「測試」瓦特/沒有文件名),其中包含:使用bash腳本不工作

cd /userdata/waf/Template 
iaprod -python myscript.py>Outputlog 
echo "hello" 

當我進入命令行窗口,我鍵入以下內容,得到如下的輸出:

-bash-3.00$ chmod 775 testing 
-bash-3.00$ ./testing 
: No such file or directorydata/acct/waf/Template 
<<Starting on sim1>> 
hello 

因此,出於某種原因,第一行中的change directory命令不起作用。然而,最後兩行中的python腳本和回顯工作正常。唯一的問題是我需要在正確的目錄中運行python腳本。

任何想法,爲什麼光盤不工作的一切?如果我直接在命令行輸入代碼,一切正常。

+0

你在哪個操作系統上以及如何執行腳本?如果它是一個Makefile,那麼除非使用括號將命令分組,否則該目錄將不會保留。 –

回答

1

檢查cd命令行末尾的寄存回車符(ASCII代碼點13)。亂碼錯誤信息表明有一個存在。

shell腳本中的行(除Internet協議中的文本之外的其他所有內容)必須以ASCII LF(代碼點10)而非CR + LF結尾。

+0

嗯,我嘗試在腳本文件上使用dos2unix,它仍然給我同樣的錯誤。有另外一種方法可以推薦解決這個問題嗎? – user1964692

+0

你可以產生腳本的十六進制轉儲('od -tx1'或類似的)嗎?該行應以74 65 0a(ASCII:「t」「e」NL)結尾。我這樣說是因爲一個錯誤消息,其中':沒有這樣的文件或目錄'覆蓋了它出現的那一行的開頭,看起來像一個零散的CR。 – Celada