您的位置:首页 > 其它

ubuntu 下sudo cd 会报command not found

2010-12-09 16:43 309 查看
ubuntu 下sudo cd 会报command not found
参考:http://linuxcommando.blogspot.com/2007/11/sudo-hacks-making-cd-and-redirection.html
通过which cd命令发现
cd:      aliased to set olddir=$cwd ; chdir !*
也就是说,cd是shell内置的,不是普通的命令,所以不能通过sudo运行
如果确实需要运行cd,可以先输入sudo -s,然后就可以运行cd了,不过发现变成root@hostname了,也就是说变成root登陆了.

引用一段比较好的英文解释

cd is a shell built-in command. It cannot be run in a child process. The child process simply cannot change the working directory of its parent shell process.

Redirection also does not work with sudo for the same reason (redirection being a shell "thing")
sudo 'ls /root/restricted >/root/out.txt'
sudo: ls /root/restricted >/root/out.txt: command not found


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: