由于linux 配置环境变量修改,修改etc/profile 配置文件出现错误,导致很多linux 命令不好使,ls /ll /vim 等命令不好使,最重要的是vim 都不好使了,想修改profile都没办法,在网上搜了半天,解决办法如下:
1,在命令行中输入:export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin 这样可以保证命令行命令暂时可以使用。命令执行完之后不要关闭终端,继续下一步;
2,就可以执行vim /etc/profile ,进入文件修改环境变量
3,修改完成 :wq 保存退出
4,source /etc/profile 环境变量生效
如果是某一条环境变量出错,还好修复,比如符号啥的 出错,但是如果把profile 其他看不懂的配置文件就不好搞了,楼主就是,复制粘贴的时候其他地方弄错了,有没有原生的profile ,想修复都不知道怎么修复了。下面是正确的配置文件,自己留作参考,以后不消息改错了,留作自己参考
JAVA_HOME=/usr/java/jdk1.8.0_181
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin:/app/ruby/bin:/
export PATH JAVA_HOME CLASSPATH
export M3_HOME=/usr/local/src/apache-maven-3.5.4
export NODE_HOME=/usr/local/src/node
export PATH=$PATH:$NODE_HOME/bin
export PATH=${PATH}:${M3_HOME}/bin
export PATH=$PATH:/usr/local/git/bin
export PATH=/usr/local/src/mongodb-linux-x86_64-3.0.6/bin:$PATH
pathmunge (){
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
}
if [ -x /usr/bin/id ]; then
if [ -z "$EUID" ]; then
# ksh workaround
EUID=`/usr/bin/id -u`
UID=`/usr/bin/id -ru`
fi
USER="`/usr/bin/id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
fi
# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
else
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
pathmunge /sbin after
fi
HOSTNAME=`/bin/hostname 2>/dev/null`
HISTSIZE=1000
if [ "$HISTCONTROL" = "ignorespace" ] ; then
export HISTCONTROL=ignoreboth
else
export HISTCONTROL=ignoredups
fi
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null 2>&1
fi
fi
done
unset i
unset -f pathmunge