首頁 > 軟體

Linux下提示命令找不到:bash:command not found

2020-06-16 17:41:24

Linux下輸入某些命令時會提示:bash:command not found。

首先,檢視$PATH中是否包含了這些命令。

$PATH:決定了shell到哪些目錄中去尋找命令或程式,PATH值是一系列的目錄。當執行程式時,linux到這些目錄下搜尋進行編譯連結。

格式:

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

可以將自己指定的路徑加到PATH中,中間用冒號":"隔開。環境變數更改後,會在使用者下次登入的時候生效;若想立即生效,則需要執行:

1 $ source .bash_profile

完成之後可以通過 echo  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 /]# 


方法二: echo echo 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等。

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-05/131436.htm


IT145.com E-mail:sddin#qq.com