小编PDS*_*tat的帖子

以用户身份运行带参数的脚本

我试图确保在运行脚本时它作为特定用户运行,而不必在脚本运行之前 su 到该用户。该脚本还使用几个标志运行,例如

./myscript.sh -e dev -v 1.9
Run Code Online (Sandbox Code Playgroud)

我尝试过以下方法

[ `whoami` = myuser ] || exec sudo -S su - myuser -c "bash `pwd`/`basename $0` $@"
Run Code Online (Sandbox Code Playgroud)

但是 -v 标志应该是我的脚本的输入,但它正在作为 su 的输入。所以它抱怨一个无效的选项,有没有办法纠正上述问题?

注意:运行脚本的人具有 sudo 权限。

users su sudo

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

标签 统计

su ×1

sudo ×1

users ×1