问题描述:
Mac系统在打开Terminal的时候,报错-bash : : command not found。
问题分析:
报错并不影响Terminal的使用,于是忽略不计。但是在修改.bash_profile文件后,为了使配置生效,使用source命令,也是报错-bash : : command not found。
开始以为是source命令找不到,将/bin加入到环境变量中,还是报这个错误。
问题陷入困境。
在网上搜索,发现大部分问题都类似是 -bash:nginx: command not found,就是说两个::之间是有个命令的,是这个具体的命令找不到。而现在的报错没有看到这个命令,而是空格,说明把空格也当成了命令,这就说明.bash_profile中写了一个空格,被系统认为是命令来执行了。
打开.bash_profile,并没有看到空格,拷贝文件内容到文本编辑器中,也没有看到空格。
为了排查,打算注释掉所有命令,再一行一行放开命令,再执行source命令,看具体是哪行报错。发现工作量太大。
无意中使用VS Code打开.bash_profile,就发现了异常,如下:
去掉这个特殊字符,再次source,不再报错。
可见,系统将这个特殊字符当成命令来执行了,而找不到这个命令,且这个命令显示在终端中是一个空格,所以导致上述报错。
总结:
1、问题要举一反三,看别人出现的问题和自己的问题差别在哪里,类比问题所在。
2、注意特殊字符,尽量使用富文本编辑器,例如VS Code。