シェルスクリプト変数保持コマンドはどのように機能しますか? [閉鎖]

シェルスクリプト変数保持コマンドはどのように機能しますか? [閉鎖]

コンピュータを起動するたびに、ソースからプログラムをコンパイルする自動コンパイルスクリプトを作成しようとしています。現在は次のようになります(正確な構文は覚えていません)。

VAR=$(sudo git pull)

if (VAR = "Nothing to update")

{

#do nothing

}

else {

#compile package

}

これはうまくいくでしょうか? VAR = $またはif文中にsudo git pullが呼び出されるかどうかを知りたいです。

ベストアンサー1

このコマンドは、初期コマンドの置き換え(たとえば)中にのみ呼び出されますVAR=$(sudo git pull)

これを簡単にテストできます。

$ VAR=$(touch foo; echo bar)
$ echo $VAR
bar
$ ls -l foo
-rw-r--r-- 1 me me 0 Dec  7 16:28 foo

ファイルが生成され、fooコマンド置換()の出力barがに割り当てられていることがわかります$VAR

今しばらく待ってから、変数にもう一度アクセスしてください。

$ echo $VAR
bar
$ ls -l foo
-rw-r--r-- 1 me me 0 Dec  7 16:28 foo

表示される修正時間はfoo変更されませんでした。

おすすめ記事