今天在阿里雲虛擬機器上配置環境時出現-bash: ***: command not found錯誤,網上找了一下,方法如下:
如輸入ls: 出現 -bash: ls: command not found
ipconfig 出現 -bash: ipconfig: command not found
先 echo $PATH 發現 .顯示JAVA_HOME/bin:.PATH:/root/bin
原因:在設定環境變數時,編輯profile檔案沒有寫正確,導致在命令列下命令不能夠識別。 解決方案:
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
再echo $PATH 發現 .顯示 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
到上面只會對此次登陸的shell有效,要是永久可用,必須再做如下:
用文字編輯器開啟/etc/profile ,並把path加上去。如下為我配置
配置前為:
JAVA_HOME=/usr/java/jdk1.7.0_40
CLASSPATH=.:.JAVA_HOME/lib.tools.jar
PATH=.JAVA_HOME/bin:.PATH
export JAVA_HOME CLASSPATH PATH
加上path後如下
#set java environment
JAVA_HOME=/usr/java/jdk1.7.0_40
CLASSPATH=.:.JAVA_HOME/lib.tools.jar
PATH=.JAVA_HOME/bin:.PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
export JAVA_HOME CLASSPATH PATH
為什麼要這麼做。
首先就要考慮root 的$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等。