我想知道为什么下面显示一个空对话框:
testvar="hello" & zenity --info --text "${testvar}"
虽然这有效:
testvar="hello"; zenity --info --text "${testvar}"
我想知道为什么下面显示一个空对话框:
testvar="hello" & zenity --info --text "${testvar}"
虽然这有效:
testvar="hello"; zenity --info --text "${testvar}"
不
&
连接命令。它在后台的子 shell 中运行前面的命令,并立即将控制权返回给前台 shell。鉴于您的场景的变化:
该分配在子 shell 中运行,因此不会影响父级,父级会立即继续执行下一个命令
echo
。分号
;
是命令分隔符,可以视为等同于换行符。为了获得更多兴趣,请考虑以下进一步的变化:
最后,需要指出的是,尽管这些都是变量,但它们都不一定是环境变量。(您可以使用
env
. 列出它们)