zoukankan      html  css  js  c++  java
  • Linux下提示命令找不到:bash:command not found

     

    Linux下输入某些命令时会提示:bash:command not found。

    首先,查看$PATH中是否包含了这些命令。

    $PATH:决定了shell到哪些目录中去寻找命令或程序,PATH值是一系列的目录。当运行程序时,linux到这些目录下搜索进行编译链接。

    格式:

    PATH = $PATH:<PATH1>:<PATH2>:<PATH3>:...:<PATH N>

    可以将自己指定的路径加到PATH中,中间用冒号":"隔开。环境变量更改后,会在用户下次登录的时候生效;若想立即生效,则需要执行:

    1 $ source .bash_profile

    完成之后可以通过 ech echo PATH查看当前的搜索路径。这样定制之后,可以避免频繁的启动位于shell搜索路径之外的程序。

        查看PATH值:

    方法一:export

     1 [root@localhost /]# export
     2 declare -x BASH_ENV="/root/.bashrc"
     3 declare -x G_BROKEN_FILENAMES="1"
     4 declare -x HISTSIZE="1000"
     5 declare -x HOME="/root"
     6 declare -x HOSTNAME="localhost.localdomain"
     7 declare -x INPUTRC="/etc/inputrc"
     8 declare -x LANG="zh_CN.GB18030"
     9 declare -x LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
    10 declare -x LESSOPEN="|/usr/bin/lesspipe.sh %s"
    11 declare -x LOGNAME="root"
    12 declare -x LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:"
    13 declare -x MAIL="/var/spool/mail/root"
    14 declare -x OLDPWD="/"
    15 declare -x PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin"
    16 declare -x PWD="/"
    17 declare -x SHELL="/bin/bash"
    18 declare -x SHLVL="1"
    19 declare -x SSH_ASKPASS="/usr/libexec/openssh/gnome-ssh-askpass"
    20 declare -x SSH_CLIENT="192.168.199.107 63049 22"
    21 declare -x SSH_CONNECTION="192.168.199.107 63049 192.168.199.10 22"
    22 declare -x SSH_TTY="/dev/pts/2"
    23 declare -x TERM="vt100"
    24 declare -x USER="root"
    25 declare -x USERNAME="root"
    26 [root@localhost /]# 


    方法二: echecho PATH

    1 [root@localhost /]# echo $PATH
    2 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
    3 [root@localhost /]# 

      添加$PATH环境变量:

     [root@localhost u-boot-sh4]#export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH

     再次查看:

    1 [root@localhost u-boot-sh4]# echo $PATH
    2 /opt/STM/STLinux-2.3/devkit/sh4/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

     则说明添加PATH成功。

      上述方法添加PATH 在终端关闭后会消失。建议通过编辑/etc/profile 修改PATH,也可修改/home目录下的 .bashrc

     1 [root@localhost etc]# vim /etc/profile
     2 # /etc/profile
     3 
     4 # System wide environment and startup programs, for login setup
     5 # Functions and aliases go in /etc/bashrc
     6 
     7 pathmunge () {
     8         if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
     9            if [ "$2" = "after" ] ; then
    10               PATH=$PATH:$1
    11            else
    12               PATH=$1:$PATH
    13            fi
    14         fi
    15 }
    16 
    17 # Path manipulation
    18 if [ `id -u` = 0 ]; then
    19         pathmunge /sbin
    20         pathmunge /usr/sbin
    21         pathmunge /usr/local/sbin
    22 fi
    23 
    24 pathmunge /usr/X11R6/bin after
    25 
    26 unset pathmunge
    27 
    28 # No core files by default
    29 ulimit -S -c 0 > /dev/null 2>&1
    30 
    31 "/etc/profile" [已转换] 49L, 842C      

    在最后添加:

    1 export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"

    保存后,退出,执行:

    1 [root@localhost etc]# source /etc/profile

    不报错就成功。

      $PATH下目录简介

        PATH中主要有以下四个目录:

        /bin, /usr/bin, /sbin, /usr/sbin

        主要存放的东西:

    ./bin:

    bin为binary的简写主要放置一些系统的必备执行档案。如:cat,cp, chmod df, dmesg, gzip, kill, ls, mkdir, more, mount, rm, su, tar 等。

    /usr/bin:

    主要放置一些应用软体工具的必备执行档例。如:c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb*、wget等。 

    /sbin:

    主要放置一些系统管理的必备程式例。如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。 

    /usr/sbin:

    放置一些网路管理的必备程式例。如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。

  • 相关阅读:
    【Qt开发】01-第一个Qt程序Hello World!
    Git使用总结(三):协同开发常见冲突
    公钥、私钥、数字签名、数字证书、对称与非对称算法、HTTPS
    通俗理解TCP的三次握手
    Flink安装极简教程-单机版
    程序员工资那些事!
    vim实战:插件安装(Vundle,NerdTree)
    Git使用总结(二):分支管理
    Git使用总结(一):简介与基本操作
    C++11并发编程:多线程std::thread
  • 原文地址:https://www.cnblogs.com/zhaohuanhuan/p/9450292.html
Copyright © 2011-2022 走看看