Mac上安裝了mysql,之前遇到一個問題,每次重新登陸mysql,都要再設置一遍環境變量,我還在筆記中記錄了這個問題. 今天學習了Linux才徹底解決這個問題. 主要還是對export這個命令理解不足,以為這個是一勞永逸的設置環境變量的命令. 但其實這只是起到一個類似將變量導入到當前程序的作用, 實際上對於系統來說,系統的環境變量仍然沒有修改.
Tips:
“PATH 是可執行文件搜尋的路徑,目錄與目錄中間以冒號(:)分隔, 由於文件的搜尋是依序由 PATH 的變量內的目錄來查詢,所以,目錄的順序也是重要的".
下面來說根本的解決方法.
1. 首先查看系統的環境變量可以直接輸入export,這樣可以查看到所有的系統環境變量,要能夠直接輸入mysql命令,mysql的命令的環境變量需要放到PATH中,如下可以看到,我系統中PATH這個變量里面是沒有mysql的環境變量的, 所以輸入mysql會提示找不到該命令.
2.設置mysql的環境變量 PATH=$PATH:/usr/local/mysql/bin
可以看到再輸入mysql 命令能夠識別了.
並且再次使用export查看系統中PATH環境變量,可以看到/usr/local/mysql/bin已經添加上去.
總結:
1. 要把環境變量設置到系統的環境變量中,直接定義PATH即可,格式是PATH=$PATH:你要加的路徑 (或者PATH=${PATH}:路徑)
2.使用export可以查看當前系統的環境變量.
3.使用export PATH=$PASH:路徑 這種方式只能在當前生效,沒有改變系統的環境變量. 下一次還是要再次進行設置.
4.疑問: 書中提到我們在原本的bash下面去執行另一個bash,結果操作的環境接口就會跑到第二個bash去(就是子程序). 這里不太理解去到子程序是怎樣一個概念.比如我之前輸入export PATH=${PATH}:/usr/local/mysql/bin , 從某種程度上說,這是在子程序中加上的mysql環境變量. 那如何定義我是進入了子程序,而不是在主程序中呢?
附上書中的圖片,來自《鳥哥的Linux私房菜》.