私はスクリプトの問題を解決していますが、各行を手動で入力して1行ずつエラーを見つけたいと思います。
私のスクリプトにはif文があります。
if [ -d dir1 ]; then
rm -rf dir1
fi
それでコマンドラインを入力してみました。
$ if [ -d dir1 ]; then rm -rf dir1 fi
>
Ctrl-Dを試しましたが、次のメッセージを受け取りました:bash:構文エラー:予期しないファイルの終わり
それでは、コマンドラインにこのifステートメントをどのように入力しますか?
ベストアンサー1
短い答え:その後にはセミコロンが必要ですrm -rf dir1
。
実際のケースを見る:if
スクリプトに示されているようにブロックを正確に入力してください。
$ if [ -d dir1 ]; then
> rm -rf dir1
> fi
実行後、上矢印を使用して最後のコマンドを再度呼び出すと、ブロック全体が1行if
に表示されます。
$ if [ -d dir1 ]; then rm -rf dir1; fi
シェルには、ifブロック内のコマンド間の中断を記述する方法が必要です。単に一度に実行される単一のコマンドでは処理できないため、セミコロンはそれを区別する役割を果たします。