Linux终端启动出现bash: export: '/home/khawar/.bashrc': not a valid identifier及bash: !!: command not found错误的解决求助
问题背景
每次打开Linux终端,都会弹出两个烦人的错误:
bash: export: '/home/khawar/.bashrc': not a valid identifier
bash: !!: command not found
我已经装了Anaconda,但没装composer,之前在StackOverflow上看到过类似的错误案例,希望能搞定这个问题,求帮忙!
我试过的命令及输出
命令1:grep -i export ~/.bashrc
输出:
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' export PATH="/home/${USER}/anaconda3/bin:$PATH"
命令2:grep -A 2 -B 2 -i export ~/.bashrc
输出:
# colored GCC warnings and errors #export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' # some more ls aliases -- . "/home/khawar/anaconda3/etc/profile.d/conda.sh" else export PATH="/home/${USER}/anaconda3/bin:$PATH" fi fi
问题分析和解决步骤
咱们一步一步来搞定这两个问题:
1. 搞定export: '/home/khawar/.bashrc': not a valid identifier错误
这个错误的核心是:你的.bashrc文件里有语法错误的export语句!大概率是你不小心写了类似export /home/khawar/.bashrc这种错误的命令——export后面应该跟变量名(比如PATH),而不是直接跟路径。
从你贴的grep结果看,现有的两条export语句(一条注释掉的,一条Anaconda的)都是正常的,所以问题肯定藏在.bashrc的其他地方。你可以这么做:
- 打开
.bashrc文件:nano ~/.bashrc(用vim或者其他编辑器也行) - 从头到尾扫一遍,或者用编辑器的搜索功能找所有带
export的行,重点看那些没被注释的,找有没有格式不对的(比如export后面直接跟路径、引号没配对、多了空格之类的)。
2. 解决bash: !!: command not found错误
这个错误更简单:!!是bash里用来重复上一条命令的快捷键,但终端刚启动时根本没有历史命令,所以执行它就会报错。这说明你的.bashrc(或者.bash_profile)里不小心加了单独的!!这一行。
同样在编辑.bashrc的时候,搜索一下有没有单独的!!行,把它删掉或者用#注释掉就好。
3. 验证修复效果
改完之后,先让修改立刻生效:
source ~/.bashrc
然后关掉终端重新打开,看看那两个错误是不是消失了。如果还有问题,你可以再检查一下Anaconda那段配置的括号——你贴的输出最后有两个fi,可能前面的if语句没写完整?可以看看那段代码的上下文,确保if-fi配对正确。
内容的提问来源于stack exchange,提问作者Khawar Islam

