请考虑以下代码段:
$ export xx=foo
$ sudo bash -c 'echo $xx ~'
/root
没关系。我们看不到xx。
但是,如果我公开它:
$ sudo -E bash -c 'echo $xx ~'
foo /home/xropi
虽然很多人说~不是别名,但不知何故它是环境的一部分,因为-E会暴露原件,阻止我推迟评估。
是否可以在 sudo-ed 命令中传递我的变量并评估 ~ 作为 /root ?
我想在使用 sudo 运行时得到这个:
foo /root