2013-03-28 105 views
0

我正在使用Sun Solaris中的ksh。我有一個文件只有一個單詞作爲每行的作業名稱。想要從文件中讀取所有作業,並在給定的orde中逐個執行它們。如何在ksh中做到這一點。如果在命令提示符下觸發,下面的代碼工作正常。當我嘗試通過shell腳本運行它時會出現錯誤。使用awk讀取文件的每一行並將其存儲到數組中

i=0;nawk '{print $1}' input.txt | while read -r r; 
do 
a[i]="$r"; 
echo "${a[++i]}"; 
done 

錯誤:

i=0 
+ read -r r 
+ nawk {print $1} input.txt 
test2.ksh: -r: is not an identifier 

回答

0

該消息是從Bourne shell的到來,所以可能以某種方式腳本不會被調用以正確的方式。您將需要插入一個家當作爲腳本的第一行:

#!/bin/ksh 

,並使其可執行文件並執行它:

chmod +x /path/to/script 
/path/to/script 

,或者你就需要調用的腳本是這樣的:

ksh /path/to/script 
相關問題