このコマンドは$()
UNIXで何をしますか?$
次の例が何を意味するのかを説明できますか?
$(echo var=10)
そして
eval $(echo var=10)
答え1
これはコマンド自体ではなく例です。コマンドの置き換え。角かっこ内の内容値を取得し、コンテキストで使用します。
たとえば、私はファイルを編集する前にしばしばバックアップします。コマンド置換を使用してファイル名の末尾に日付を追加します。ISO 8601形式(ソート用)。もちろん、日付のみを入力することもできますが、これは実行されるたびに日付が異なる可能性があるスクリプトに適しています。
$ cp -p /path/to/file /path/to/file.$(date +%F)
$ ls /path/to/file.*
/path/to/file.2013-09-10 /path/to/file