有人能给出通过sudo用户运行shell脚本的例子吗?
我尝试了以下命令:
sudo /usr/local/sbin/deploy | ./tmp/cp1.sh
上述脚本被作为普通用户而非sudo用户执行。
使用这个命令,deploy
脚本将在root用户下执行,然而./tmp/cp1.sh
脚本将在当前shell下以您当前的权限运行。为了避免这种情况,您可以在两者前面加上sudo:
sudo /usr/local/sbin/deploy | sudo ./tmp/cp1.sh
或者你可以从sudo中生成一个shell,这样shell就已经以root身份运行:
sudo sh -c '/usr/local/sbin/deploy | ./tmp/cp1.sh'