ubuntu 下sudo cd 会报command not found

本文解析了在Ubuntu系统中使用sudo cd命令时遇到的command not found错误原因。cd是shell内置命令,不能在子进程中运行,因此无法通过sudo直接执行。文章提供了绕过此限制的方法,即先运行sudo -s进入root用户后再使用cd命令。
               

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



           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值