背景简介:
运行使用 的脚本时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 之后才会扩展。