4

我想在启动脚本 (rc.local) 中以非 root 用户身份运行命令。我要执行的命令实际上是非 root 用户的 .bash_profile 中的别名。我试过用

su - myuser -c aliased_cmd

但这不起作用。如果我只是输入

su - myuser
# wait for login...
aliased_cmd

它工作正常,但显然这在实际脚本中是不合适的。当然,我可以将我想使用的别名和函数复制到实际的 rc.local 文件中,但这似乎有点愚蠢......也许有一个我不知道的选项或使用 sudo 的方法这?

4

2 回答 2

2

采购配置文件后,包括以下内容

shopt -s expand_aliases
于 2012-02-22T22:01:18.957 回答
0

报价man su

使用 - 时,必须将其指定为最后一个 su 选项。

它没有指定如果它不是最后一个选项会发生什么。此外,在概要中,用户名是所有选项之后。

你试过了吗su -c aliased_cmd - myusersu -l -c aliased_cmd myuser

于 2012-02-22T12:26:47.260 回答