sudo:未找到命令
时间: 2023-10-15 08:31:22 浏览: 163
command-not-found:向“找不到命令”说再见
当在Linux系统中使用sudo命令时,如果提示"command not found"错误,可能是因为sudo命令的环境变量中没有包含所要执行的命令的路径。这种情况下,可以按照以下步骤解决问题:
1. 首先,确认系统是否已经安装了sudo命令。可以执行以下命令检查/etc/sudoers.d文件是否存在:
`find /etc/sudoers.d`
2. 如果返回"No such file or directory",表示系统没有安装sudo命令。可以使用以下命令安装sudo:
`apt-get install sudo`
如果安装过程中提示"E: Unable to locate package sudo"错误,可以先执行以下命令更新软件包列表:
`apt-get update`
然后再执行sudo apt-get install命令安装sudo。
3. 如果/etc/sudoers.d文件存在,说明系统已经安装了sudo,但是可能没有正确配置环境变量。
在使用sudo执行程序时,为了安全考虑,该程序将在一个新的、最小化的环境中执行。因此,在sudo命令下,诸如PATH这样的环境变量已被重置为默认状态。
当一个刚初始化的PATH变量中不包含要执行的程序所在的目录时,使用sudo命令执行会提示"command not found"错误。
要更改sudo会话中的PATH初始值,请按照以下步骤编辑/etc/sudoers文件:
- 执行命令打开/etc/sudoers文件:
`vi /etc/sudoers`
- 找到"secure_path"一行,该行包含了在执行sudo命令时作为默认PATH变量使用的路径。
- 进入插入模式(按下"i"键),在"secure_path"下面添加所需的路径(例如:/usr/local/bin):
`Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin`
- 切换到命令行模式(按下"ESC"键),输入":wq"保存并退出编辑。
这样就可以解决sudo命令提示"command not found"错误。
另外,使用完整的脚本文件路径而不是仅仅通过脚本名称来执行sudo命令也是解决问题的一种方法:
`sudo /home/fdl/bin/connect.sh`
这些方法可以帮助您解决"sudo:未找到命令"的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [sudo 找不到命令 command not found 解决方案](https://blog.csdn.net/weixin_45798993/article/details/125780047)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [sudo: command not found 的解决方法](https://blog.csdn.net/yzlaitouzi/article/details/128948831)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文