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

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

它将以空白打开xterm
我观察到的是变量hare没有在-e引号中定义
其中:
hare=0;xterm -hold -e "echo $hare"

它打开一个xterm,显示0
我必须在-e引号中定义变量并做些什么。有没有可能。我希望xterm访问外部变量以及-e中定义的变量

最佳答案

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

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

如果在原始shell中分配变量,则需要将其导出,以便它成为子进程继承的环境变量:
hare=0
export hare
xterm -e 'echo $hare'

10-04 21:55