ubuntu 下sudo cd 会报command not found

来源:互联网 发布:淘宝现在买药货到付款 编辑:程序博客网 时间:2024/05/08 19:28

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



原创粉丝点击