Answers:
cd
是内置的shell。sudo
仅适用于可执行文件。您可以这样做,sudo sh -c 'cd dirname'
但是一旦外壳退出,您将返回到您开始的目录。如果您说的是您要完成的任务,那么我可以帮助您找到一种方法。
sudo pwd
也行不通吗?(我一直想通sudo cd
做的工作,但你只是没有看到后的结果sudo
回报。但是,这只是胡乱猜测,也许没有cd
,也不pwd
是实际内置在猛砸在Mac上运行which cd
并确实给我的结果。运行sudo cd /
不会给我一个错误,但实际上不会导致工作目录更改。)
pwd
也是一个外部可执行文件,因此可以正常工作。请注意,在某些系统上,有一个cd
可执行文件,但是它几乎没有用。顺便说一句,尝试使用type -a cd
它比提供更多信息which
。
type -a cd
同时显示cd is a shell builtin
和cd is /usr/bin/cd
。对于pwd
和也是如此echo
。两者sudo pwd
并sudo echo "Hello world"
给我一个结果。但是,type -a return
只有屈服return is a shell builtin
,并向sudo return 3
我展示sudo: return: command not found
。因此,我想问题是:OP是否收到错误消息,或者OP cd
没有任何错误就看不到工作?(或者:OP使用的是什么操作系统。)
sudo sh -c 'cd dirname'
对我没有任何帮助