私はBashスクリプトで本当に奇妙な問題に直面しています。 私のスクリプトは、基本的には、特定の行にランダムな "コマンドが見つかりません"というエラーを投げますが、常に同じ "コマンド"ではありません。次に例を示します。コマンドの一部だけを取るbashスクリプトの "command not found"のランダムな振る舞い
./myscript.sh: line 193: e: command not found
./myscript.sh: line 194: iles: command not found
./myscript.sh: line 194: ge_files: command not found
そして、ここではincriminated行がされている
184 for SERVER in `echo $SERVERS` ; do
185 - 192 Do some stuff...
193 done
194 merge_files
だから問題があると思われる(merge_filesは、スクリプト内で以前に宣言されている機能です。)それは時々それらの行を分割するのですか?それは本当にランダムではないように見えます。ちょうど時々(スクリプトの入力に間違っていると思いますか?ログを解析しています)
誰もこれに直面しましたか?
問題を再現する可能な限り小さなスクリプトを作り出そうとします。 –
実行中にスクリプトを編集(および保存)していますか? –
シェルデバッグを有効にします。つまり、 'set -vx'を実行すると、変数の値が表示されます。また '$ SERVERS'のソースがファイルからのものであれば、そのファイルはMSWindows/DOS上に作成されていますか?もしそうなら、 'dos2unix'を使って問題を引き起こしているかもしれない '^ M \ chars'を削除してください。がんばろう。 – shellter