在 bash 中回显环境变量

在 bash 中回显环境变量

我不明白为什么这不起作用:

TEXT="blah" echo $TEXT    #echoes nothing

我认为这可能是因为 echo 是内置的,所以我尝试了这个:

TEXT="blah" `which echo` $TEXT    #still nothing

我错过了什么?

答案1

shell 扩展变量它在运行分配之前就运行命令。

参见

text=blah ; echo $text

或者

text=blah eval 'echo $text'

第一个方法有效,因为赋值是作为单独的命令运行的。第二个方法有效,因为$text是单引号,这可以防止在 shell 处理命令时对其进行扩展;当eval稍后运行时,该变量已经赋值。

相关内容