0

私はSun Solarisでkshに取り組んでいます。ジョブ名が 1 行に 1 単語しかないファイルがあります。ファイルからすべてのジョブを読み取り、指定された順序で 1 つずつ実行します。kshでそれを行う方法。以下のコードは、コマンド プロンプトで起動すると正常に動作します。シェルスクリプトで実行しようとすると、エラーが発生します。

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
4

1 に答える 1

0

メッセージは Bourne シェルから送信されているため、スクリプトが正しく呼び出されていない可能性があります。スクリプトの最初の行としてシバンを挿入する必要があります。

#!/bin/ksh

実行可能にして実行します。

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

または、次のようにスクリプトを呼び出す必要があります。

ksh /path/to/script
于 2013-03-30T16:28:35.430 に答える