linux bash : when opening xterm with -e, 变量未定义

标签 linux bash xterm

我正在尝试一个简单的 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/

相关文章:

linux - Bash 概念性问题

linux - 如何在 rhel7 上安装 ffmpeg

python - argparse(和已弃用的 optparse)如何在 bash 中响应 python 程序名称后的 'tab' 按键?

linux - 反引号 - ` - 在命令行调用中特别针对 Git 命令有何作用?

bash - 如何在 Action 运行的 Bash 脚本中访问 GitHub Action 环境变量?

linux - 如何编写一个 shell 脚本来打开四个终端并在每个终端中执行一条命令?

linux - 在 ssh 进入远程机器时进行 scp?

linux - 将httpd-vhosts.conf拆分为多个虚拟主机文件

linux - shell 脚本如何判断它是否在支持 256 色的 xterm 窗口中运行?

linux - 奇怪的终端模式,bash的错误?