変数内で文字列を拡張しないでください。

変数内で文字列を拡張しないでください。

次のコードがあります。

a="$(date)"
echo $a

$(date)私はそのエコ結果が実際の日付ではないことを望みます。この目標を達成する方法は?

ベストアンサー1

最初の行にすでに割り当てが行われているため、二重引用符は使用できません。ドル記号から逸脱しない限り:

$ a="\$(date)"
$ echo "$a"
$(date)
$ eval echo "$a"
Fri 5 Oct 18:53:45 CEST 2018

一重引用符を使用すると、次のことができます。

$ a='$(date)'
$ echo "$a"
$(date)
$ eval echo "$a"
Fri 5 Oct 16:45:45 CEST 2018

おすすめ記事