スクリプトシェル内の命令の実行順序

スクリプトシェル内の命令の実行順序

以下は私のスクリプト test.sh の一部です。

#!/bin/bash

tar -cf $name.tar $name && pbzip2 $name.tar
echo "[$1: Waiting..]

質問があります。2 番目の命令「echo」は、ファイル .tar.bz2 の作成直後に実行されますか? いいえ。tar ディレクトリのみがあり、命令 echo が起動されていることがわかります。

何か説明をお願いします。どうもありがとうございます。

答え1

コマンドechoは、事前の梱包と圧縮コマンドは実行されません

つまり、ファイルがパックされ圧縮されるまで出力はありません。開始時と終了時に何らかの出力を表示したい場合は、以下を使用します。

#!/bin/bash

echo "[$1: Packing]"
tar -cf $name.tar $name && pbzip2 $name.tar
echo "[$1: Done]"

関連情報