解决`source /etc/profile`报错问题
2021-03-30 本文已影响0人
静美书斋
现象
[root@localhost ~]# source /etc/profile
-bash: /etc/profile: line 21: syntax error near unexpected token `esac'
-bash: /etc/profile: line 21: ` esac'
在进行环境变量设置后,使配置文件生效时,总是报上述错误。
分析
1、一开始根据网上查到的解决方法以为是Linux和Windows的转换符问题,解决发现不是;由于全程使用vim在Linux上操作,根本不可能出现Windows的转换符问题。
2、后来分析上述文件中,发现,可能是由于配置的alias快捷键(命令别名
)恰好是shell的关键字所致,一查,果然在/etc/bashrc
的alias中,配置了alias if='ifconfig eno1'。
另外
fi
也不能作为alias的快捷键!
解决
由于直接在/etc/bashrc
中修改有问题的alias已经没办法使之生效,所以需要使用unalias命令,具体操作如下:
步骤一
# 删除命令别名`if`
unalias if
步骤二
if
命令别名失效后,即可在bashrc中将该命令注释或删除,删除后执行source /etc/bashrc
步骤三
重新使用source /etc/profile
命令即可。