Answers:
cd不是外部命令,它只是内置的shell,因此sudo无法执行。之所以cd只能作为内置的shell存在,是因为一个进程无法影响另一个进程的当前目录;因此,更改当前目录并立即退出的程序是没有用的。(几乎没有用:cd程序将返回指示其是否成功的状态。)
如果要更改目录,然后以其他用户身份运行命令,请运行执行所有操作的Shell。
sudo -u SOMEUSER sh -c 'cd /path/to/directory && dosomething'
我倾向于使用:sudo su - USERNAME然后以该用户身份执行您需要做的事情。要退出,只需键入exit
USERNAME然后执行命令与直接以as身份运行命令不同USERNAME
cd。之后立即退出。OP可能想要sudo -i。