我正在尝试一个简单的 xterm 命令:
xterm -hold -e "hare=0;echo $hare"
它将以空白打开 xterm
我观察到变量 hare 没有在 -e 引号内定义
其中:
hare=0;xterm -hold -e "echo $hare"
它打开一个显示 0 的 xterm
我必须在 -e 引号中定义变量并做一些事情。可不可以。我希望 xterm 访问外部变量以及 -e 中定义的变量
最佳答案
变量在双引号字符串中展开,因此变量由原始 shell 展开,而不是 xterm
中的 shell。使用单引号。
xterm -hold -e 'hare=0; echo $hare'
如果您在原始 shell 中分配变量,则需要将其导出,以便它成为子进程继承的环境变量:
hare=0
export hare
xterm -e 'echo $hare'
关于linux bash : when opening xterm with -e, 变量未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45920361/