小编xro*_*opi的帖子

Bash 中的波形符扩展与变量

请考虑以下片段:

$ export xx=foo
$ sudo bash -c 'echo $xx ~'
/root
Run Code Online (Sandbox Code Playgroud)

这没关系。我们看不到xx。

但是,如果我暴露它:

$ sudo -E bash -c 'echo $xx ~'
foo /home/xropi
Run Code Online (Sandbox Code Playgroud)

尽管很多人说~不是别名,但不知何故它是环境的一部分,因为-E会暴露原始内容,阻止我推迟其评估。

是否可以在 sudo-ed 命令中传递我的变量并将 ~ 评估为 /root ?

我想在使用 sudo 运行时得到这个:

foo /root
Run Code Online (Sandbox Code Playgroud)

bash sudo environment-variables tilde

5
推荐指数
1
解决办法
945
查看次数

标签 统计

bash ×1

environment-variables ×1

sudo ×1

tilde ×1