linux bash:当用-e打开xterm时,变量没有被定义

时间:2017-08-28 13:34:19

标签: linux bash xterm

我正在尝试一个简单的xterm命令:

xterm -hold -e "hare=0;echo $hare"

它将以空白

打开xterm

我观察到的变量野兔没有在-e引号中定义

其中:

hare=0;xterm -hold -e "echo $hare"

它会打开一个显示0

的xterm

我必须在-e引号中定义变量并执行某些操作。有可能吗?我希望xterm访问外部变量以及-e

中定义的变量

1 个答案:

答案 0 :(得分:0)

变量在双引号字符串中展开,因此变量由原始shell扩展,而不是xterm中的shell。使用单引号。

xterm -hold -e 'hare=0; echo $hare'

如果在原始shell中分配变量,则需要将其导出,以使其成为子进程继承的环境变量:

hare=0
export hare
xterm -e 'echo $hare'