su 用户以 root 身份执行命令

su 用户以 root 身份执行命令

背景简介:

运行使用 的脚本时notify-send "title" "message",预计会显示通知,但却sudo ./script没有显示通知

阅读并访问了许多页面后,我发现运行脚本的这一部分(通知发送部分)仍然可以通知用户。

问题:

因此测试这个 su 命令:

su normal-user -c "echo $USER"
root

为什么这不回来normal-user

答案1

$USER 变量在您输入命令时扩展,而不是在 su 运行之后。 su normal-user -c 'echo $USER'将产生预期结果。单引号表示 $USER 直到 su 之后才会扩展。

相关内容