問題描述:
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。
