今天在阿里云虚拟机上配置环境时出现-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等。