Cubietruck開發板折騰007:linaro命令無法找到問題解決
阿新 • • 發佈:2018-11-10
剛才配置完了node環境變數之後發現系統的變數貌似丟失了,所有的系統命令都沒法使用了,輸入任何命令都提示:command not found,應該是配置環境變數的時候把原有的PATH覆蓋了。
-bash: ls: command not found
[email protected]:/opt/node# ls
-bash: ls: command not found
[email protected]:/opt/node# ls -a
-bash: ls: command not found
[email protected]:/opt/node# cd ..
[email protected]:/opt# cd ..
首先我們先做臨時解決:在終端輸入以下內容,讓我們可以執行命令來操作:
export PATH="$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
執行後便可以輸入命令了,但是這個只是臨時的配置,只有在此終端內有效,關閉終端後再輸入命令還是會報錯,所以我們要在關閉之前解決這個問題,之前是執行命令# vi /etc/profile在最後面新增如下內容。
export NODE_HOME=/opt/node
export PATH=$NODE_HOME/bin:$PATH
錯誤出現的原理:
1.當用戶輸入命令時,Linaro首先會找/etc/profile 這個配置檔案裡的PATH變數,遍歷這個變數裡配置的多個路徑,檢視命令是否存在,存在則直接執行
2.如果 /etc/profile 裡的PATH找不到有這個命令,下一步會去家目錄.bashrc ,這個隱藏配置檔案裡去找PATH變數,遍歷這個變數配置的多個路徑,檢視命令是否存在。
3.如果上面兩步都未找到,那麼Linux會在shell目前的當前目錄下找該命令,如果未找到,則報command not found,才出現了接下來的這幕了。
[email protected]:/# ls
-bash: ls: command not found
[email protected]:/# apt-get update
-bash: apt-get: command not found
[email protected]:/# reboot
-bash: reboot: command not found
[email protected]:/# vi /etc/profile
-bash: vi: command not found
執行命令# vi /etc/profile,將最後兩行刪掉,無需定義NODE_HOME=/opt/node,直接將其改為即可:
export PATH="/opt/node-v9.9.0-linux-armv7l/bin:$PATH"
最後記得更新下配置檔案:
source /etc/profile