码迷,mamicode.com
首页 > 系统相关 > 详细

Linux系统使用sudo遇到command not found的情况处理

时间:2018-04-02 15:13:23      阅读:554      评论:0      收藏:0      [点我收藏+]

标签:Linux   command not found   

    一般通过编译安装或二进制拷贝的软件路径会选择自定义路径,以nodejs软件为例,如:/usr/local/node6.10/bin。这个时候在使用sudo命令运行的时候会提示command not found。出现这个问题的原因是/etc/sudoers配置文件中有这么一个配置:

 79 Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

    由此可知,默认路径里面是没有我们自定义安装软件的路径的,所以node这个命令是找不到的。我们只需要将node的路径添加到这个一行后面即可。

 79 Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/node6.10/bin

另外还有几个解决办法:

    1): 用命令的绝对路径。

    2): 使用sudo的env选项,像这样sudo env PATH=$PATH cmd.sh。

    3): 把脚本拷贝或链接到系统$PATH中。

   4): 重新编译sudo,不带–with-secure-path选项了.(终极解决办法)。

以上方法请自行参考是使用哪一种,我比较喜欢最开始介绍的那种,比较可控,使用起来也比较方便。


Linux系统使用sudo遇到command not found的情况处理

标签:Linux   command not found   

原文地址:http://blog.51cto.com/nanfeibobo/2093809

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!