如何作为特定用户运行一行bashshell脚本
我有一个手动运行的脚本(比方说)如何作为特定用户运行一行bashshell脚本,bash,shell,sudo,Bash,Shell,Sudo,我有一个手动运行的脚本(比方说)mylogin。但是有一行需要作为用户postgres运行 这样做的好方法是什么 如果我得到一个密码提示就可以了。我只是想让它发挥作用 这是我到目前为止所拥有的 ~/reload\u test\u data.sh #!/bin/bash # Here's the part that needs to run as user `postgres`... sudo su postgres export PGDATA=/Library/PostgreSQL/9.4/
mylogin
。但是有一行需要作为用户postgres
运行
这样做的好方法是什么
如果我得到一个密码提示就可以了。我只是想让它发挥作用
这是我到目前为止所拥有的
~/reload\u test\u data.sh
#!/bin/bash
# Here's the part that needs to run as user `postgres`...
sudo su postgres
export PGDATA=/Library/PostgreSQL/9.4/data && pg_ctl -m fast restart
# And here we should go back to `mylogin`...
cd ~/projects/my_project
echo 'Dropping database'
bundle exec rake db:drop
# More stuff etc...
我使用的是Mac OS 10.12.1。sudo的一个参数是命令,因此您可以执行以下操作:
sudo-u bash-c“命令1;命令2;等”
其中,
-u
更改为目标用户sudo的一个参数是命令,因此您可以执行以下操作:
sudo-u bash-c“命令1;命令2;等”
其中
-u
更改为您的目标用户非常好。谢谢,太好了。谢谢