不要扩展变量内的字符串

不要扩展变量内的字符串

我有以下代码:

a="$(date)"
echo $a

我想要那个 echo 的结果是$(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

答案2

使用''插入的""

a='$(date)'

相关内容