• (非)首次出现bash:command not found情况详解


    目录

    1.检查该命令工具是否安装

    (适用于  第一次出现not found的情况)

    2.检查各个bin文件夹的内容是否非空

    (适用于  输入类似ls、tty这种常见指令以前可用但最近出现not found的情况)

    3.检查是否是$PATH设置是否正确

    (通用情况)

    1.检查该命令工具是否安装

    (适用于  第一次出现not found的情况)


    出现这个问题时,首先用whereis命令确定该指令工具是否安装,

    例如确定gcc是否安装

    whereis gcc

    如果此时显示gcc:/usr/bin/gcc 则说明已经安装好,可以接着用下面的方法继续找原因,

    如果只是显示 gcc:,则说明gcc没有下载,此时进行下载就可以。

    Centos(Rehat系列)系统下载gcc命令:yum install gcc
    Ubuntu系统下载gcc命令:apt-get inatall gcc

    2.检查各个bin文件夹的内容是否非空

    (适用于  输入类似ls、tty常见指令以前可用但最近not found情况)


    在使用其它相对更复杂的手段“还原”到之前好用的状态之前,应该先检查的bin文件夹里的命令是否都在,这个方法最简单也最直观。如果自己需要用到的命令所在的bin文件夹为空,那么就会理所应当的出现-bash: ***: command not found情况。

    要检查的bin文件夹有以下几个:
    /bin, /usr/bin, /sbin, /usr/sbin

    查看这四个里面的是否为空,若出现为空的情况,那么解决办法就是找一个同样系统版本的linux把对应文件夹的内容复制到本地空的bin文件夹中。例如我的linux版本是CentOS release 6.8,我输入gcc命令编译的时候出现bash: gcc: command not found ,通过查看四个目录发现其中 /usr/bin内容为空,然后自己通过将同样的CentOS release 6.8系统下的 /usr/bin内容全部复制到本地的/usr/bin中,然后再次gcc编译,通过。

    1. 输入"echo $PATH"命令:
    2. (查看PATH值)
    3. [username@login ~]$ echo $PATH
    4. (无需关注的路径)
    5. /usr/lib64/qt3.3/bin:/opt/gridview/pmix/bin:/opt/gridview/pmix/sbin:/public/home/aqyj_ld/perl5/bin:/opt/gridview/slurm/bin:/opt/gridview/slurm/sbin:/opt/gridview/munge/bin:/opt/gridview/munge/sbin:/opt/clusconf/sbin:/opt/clusconf/bin:
    6. (当地本机路径)
    7. /usr/local/bin:
    8. /usr/bin:
    9. /usr/local/sbin:
    10. /usr/sbin:
    11. (远程服务器路径)
    12. /public/home/username/.local/bin:
    13. /public/home/username/bin


    3.检查是否是$PATH设置是否正确

    (通用情况)

    环境变量,表示“可执行程序的查找路径”。
    $PATH决定了shell到哪些目录下去寻找命令或工具,PATH的值是一系列目录,当程序运行时,Linux系统会到这些目录下进行搜索,所以当出现 -bash: ** : command not found可能因为是PATH没有设置。

    将出现bash:command not found的路径加到PATH中

    1. (修改PATH的值)
    2. (多个PATH连接格式:<PATH1>:<PATH2>:<PATH3>:...:<PATH N>
    3. [username@login ~]$ export PATH=/public/home/username/.local/sbin:/public/home/username/.local/sbin:$PATH
    4. (永久修改)
    5. [username@login ~]$ source .bashrc
    6. (设置成功之后,使用echo查看是否配置成功:)
    7. [username@login ~]$ echo $PATH
    8. (新增路径)
    9. /public/home/username/sbin:
    10. /public/home/username/sbin:​​​​​​​
    11. /public/home/username/.local/sbin:​​​
    12. ​​​​/usr/lib64/qt-3.3/bin:/opt/gridview/pmix/bin:/opt/gridview/pmix/sbin:/public/home/username/perl5/bin:/opt/gridview/slurm/bin:/opt/gridview/slurm/sbin:/opt/gridview/munge/bin:/opt/gridview/munge/sbin:/opt/clusconf/sbin:/opt/clusconf/bin:
    13. /usr/local/bin:
    14. /usr/bin:
    15. /usr/local/sbin:
    16. /usr/sbin:
    17. /public/home/username/.local/bin:
    18. /public/home/username/bin

    不报错就成功。

    参考链接:Linux下提示bash:command not found解决方法小结_wangqingchuan92的博客-CSDN博客

  • 相关阅读:
    成人高等教育本科生学士学位日语水平考试大纲
    mysql的索引
    为什么用Selenium做自动化测试
    java数据结构
    VB.net下使用开源免费三维控件Anycad的应用实例分享
    深入了解Java的核心库
    莫名其妙: conda错误ko及总结
    LeetCode Algorithm 2326. 螺旋矩阵 IV
    黑寡妇(BWO)优化算法(Matlab代码实现)
    蠕虫病毒流量分析案例
  • 原文地址:https://blog.csdn.net/qq_28838891/article/details/128131343