如果/etc/profile不小心改错内容造成所有命令不能用可以执行以下命令暂时恢复部分命令export PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin执行完以后重新进入/etc/profile配置文件把错误的地方修改回来。不知道哪里有问题的可以对照以下内容/etc/profile初始配置内容# /etc/profile # System wide environment and startup programs, for login setup # Functions and aliases go in /etc/bashrc # Its NOT a good idea to change this file unless you know what you # are doing. Its much better to create a custom.sh shell script in # /etc/profile.d/ to make custom changes to your environment, as this # will prevent the need for merging in future updates. 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 /usr/sbin pathmunge /usr/local/sbin else pathmunge /usr/local/sbin after pathmunge /usr/sbin after fi HOSTNAME/usr/bin/hostname 2/dev/null HISTSIZE1000 if [ $HISTCONTROL ignorespace ] ; then export HISTCONTROLignoreboth else export HISTCONTROLignoredups 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 /etc/profile.d/sh.local ; do if [ -r $i ]; then if [ ${-#*i} ! $- ]; then . $i else . $i /dev/null fi fi done unset i unset -f pathmunge