変数に設定すると、コマンドは自動的に実行されますか?

変数に設定すると、コマンドは自動的に実行されますか?

私はLinuxとシェル/bashスクリプトに関するすべてに慣れています。

ディレクトリ全体を圧縮するバックアップスクリプトを設定しています。圧縮コマンドを割り当てる変数を印刷する必要があるのか​​、それとも単に変数に設定して実行するのか疑問に思います。

私はこれを持っています:

x1=$(tar cfz "/dir_destination" "/dir_to_compress/")
echo "$x1"

「エコ」行を安全に削除できるかどうか疑問に思います。

答え1

文法$()と呼ばれますコマンドの置き換えシェルは最初に角かっこ内のコマンドを実行してから、stdout(末尾の改行が削除された)を割り当ててそれを処理しますx1

つまり、コマンドが実行される前に実行されますecho "$x1"

関連情報