在我看来,如果我在 中编写一个 shell 脚本$HOME/path/to/script/myscript
,export PATH=$PATH:$HOME/path/to/script/
那么sudo -E myscript
应该运行该脚本吧?
‑E ‑E(保留环境)选项向安全策略指示用户希望保留其现有环境变量。如果指定了 -E 选项并且用户无权保护环境,则安全策略可能会返回错误。
但是sudo -E script
找不到命令。我知道我可以添加/absolute/path/to/script/
到确定PATH
变量的文件中sudo env
,但这不是我想要采取的方法。
解决评论:
@H2CO3:我看到sudo sudo
网上漂浮,它让我非常烦恼,它的字面意思是“给我超级用户权限来运行超级用户”。我不知道它是否能解决问题,但这似乎是一种根本存在缺陷的方法。然后我又在 90 年代中期开始使用 linux/bsd 系统,所以我只对sudo
命令本身提出异议。
@rici:该脚本确实具有可执行权限,但这绝对是在 *nix 系统中无法运行时检查的内容 =)