Bashコマンドラインに複数行コマンドを入力する方法

Bashコマンドラインに複数行コマンドを入力する方法

私はスクリプトの問題を解決していますが、各行を手動で入力して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ブロック内のコマンド間の中断を記述する方法が必要です。単に一度に実行される単一のコマンドでは処理できないため、セミコロンはそれを区別する役割を果たします。

おすすめ記事