我是Bash脚本的新手,我一直在尝试以某个用户的身份执行sudo,进入一个特定的文件夹并运行一个命令。我尝试了下面的命令:
#!/bin/bash
sudo -i -u "site" cd /home/site/public_html && pwd或
#!/bin/bash
sudo -i -u "site" cd /home/site/public_html
sudo -i -u "site" pwd第一个在用户进入文件夹时进入,离开并向我自己的用户发送密码;第二个在用户进入文件夹时进入,离开,以用户身份进入并发送密码
任何帮助都将受到欢迎!谢谢!
发布于 2020-10-01 00:44:51
每个sudo命令都会启动一个新的shell进程,因此一个命令所做的进程更改不会影响下一个命令。
您需要在单个shell进程中运行所有内容。您可以通过显式运行bash来完成此操作。
sudo -i -u "site" bash -c 'cd /home/site/public_html && pwd'https://stackoverflow.com/questions/64142069
复制相似问题