2013-09-25 49 views
0

我正在使用八度來創建和執行腳本。該腳本文件已成功創建,但只有在從shell執行時才能正確執行。從八度調用的Bash腳本

例如如果我創建一個包含此行

for L in {1..5}; do > ${L}.txt; done  

從它創建5個文件 外殼調用它,但是從八度調用它的腳本文件(使用系統(」 ./ myscript.sh‘);或UNIX(’./的MyScript .sh「);)它只創建一個名爲」{1..5} .txt「的文件

我的實際目標不是創建空文件,上面只是一個例子。在我的腳本中,我使用的是無法從八度音階執行的循環。

+0

我想這是因爲八度不允許大括號表達? – fedorqui

回答

1

嘗試使用「ps -f」來查看您的「myscript.sh」在哪個shell下執行。

嘗試在第一行添加嚴格/強制的shell說明符,告訴它在bash下運行。

E.g.

#!/bin/bash 
ps -f 
for L in {1..5}; do > ${L}.txt; done 
+0

這是一個愚蠢的錯誤。我只是忘了把#!/ bin/bash放在文件的開頭。它現在有效。謝謝弗拉德和@fedorqui – user2815201