假设错误如下:
# useradd jack -bash: useradd: command not found
提示 useradd: 命令未找到。
当该命令的路径变量未定义时,通常会发生这种情况。
因此,在这种情况下,我们必须手动定义路径变量。
此错误与命令无关,因此无论何时遇到此问题,请检查命令的位置并将完整路径添加到 PATH 变量。
我们可以使用几种方法来查找丢失命令的位置
方法一
使用下面命令查找丢失的命令
# whereis useradd useradd:/usr/sbin/useradd /usr/share/man/man8/useradd.8.gz
方法二
我们也可以使用以下命令,但这可能不会一直有效,因为最终此命令使用的是 .bash_profile 和 .bashrc 来保存所有可执行文件的所有 PATH 变量
# which useradd /usr/sbin/useradd
方法三
我们最终可以使用 find 命令来查找丢失的命令或者文件(因为所有命令都是可执行文件)
# find/-name useradd -type f /usr/sbin/useradd
找到命令的位置后,将其路径添加到 PATH 变量
# export PATH=/usr/sbin:$PATH
但是这只在当前会话中生效,因此一旦更改了会话,我们将不得不再次export新的 PATH 变量
要在机器中进行永久性更改,请将此命令添加到 .bash_profile 文件
# vi /root/.bash_profile export PATH=/usr/sbin:$PATH
所以现在每次系统重新启动时都会执行这个命令并且 PATH 变量会被更新。
永久修复:
永久修复此问题,以免再次出现此问题。
我们可以在 PATH 变量中添加所有目录的默认位置,该变量包含 .bash_profile 文件中的 Red Hat Linux 中的所有可执行文件。
export PATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:/usrlocal/sbin
日期:2020-06-02 22:16:47 来源:oir作者:oir