幫你漲知識:
一.認識自己的Shell系統(tǒng)
(1)首先要知道你使用的Mac OS X是什么樣的Shell,使用命令
? echo $SHELL
? 如果輸出的是:csh或者是tcsh,那么你用的就是C Shell。
? 如果輸出的是:bash,sh,zsh,那么你的用的可能就是Bourne Shell的一個變種。
? ?Mac OS X 10.2之前默認的是C Shell。
? ?Mac OS X 10.3之后默認的是Bourne Shell。(都2017年了 估計MAC都升級至最新版本了)
(2)如果是Bourne Shell。
那么你可以把你要添加的環(huán)境變量添加到你主目錄下面的.profile或者.bash_profile,如果存在也沒有關(guān)系直接添加環(huán)境變量進去即可,如果沒有生成一個。
1./etc/profile ? (建議不修改這個文件 )
全局(公有)配置,不管是哪個用戶,登錄時都會讀取該文件。
2./etc/bashrc ? ?(一般在這個文件中添加系統(tǒng)級環(huán)境變量)
全局(公有)配置,bash shell執(zhí)行時,不管是何種方式,都會讀取此文件。
3.~/.bash_profile ?(一般在這個文件中添加用戶級環(huán)境變量)
(注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile)
若bash shell是以login方式執(zhí)行時,才會讀取此文件。該文件僅僅執(zhí)行一次!默認情況下,他設(shè)置一些環(huán)境變量
二.過程中MAC必備權(quán)限相關(guān)命令sudo
新手必備:使用”sudo”的4個小技巧
大家應(yīng)該對sudo很熟悉啦。當我們在安裝軟件、刪除軟件、更新系統(tǒng)等情況下都需要取得管理員密碼來執(zhí)行相應(yīng)操作。”sudo “允許授權(quán)的用戶作為管理員來執(zhí)行操作。
1)sudo !!
用法:想要作為root授權(quán)來運行一個命令,但是忘記使用“sudo”了?不要擔心。我們可以使用”sudo !!”結(jié)合命令歷史來執(zhí)行你想要執(zhí)行的命令。參數(shù)”!!“和”!-1“作用一樣,都是允許用戶作為root來執(zhí)行我們剛才輸入的命令。當然,以此類推,我們可以使用下面命令來執(zhí)行倒數(shù)第二個命令:sudo !-2
2)sudo -i
我們使用上述命令,可以切換到root狀態(tài)下。
我們可以用下面命令格式,用一個指定的用戶登陸shell:
sudo -u username -i
提示,username換成你想要使用的用戶名即可,在此過程中需要輸入username的授權(quán)密碼。
3):w !sudo tee %
上述命令可用在vi/vim編輯器中。編輯文件后保存時不用擔心沒有修改的權(quán)限了。
4):sudo chown -R username /usr/local
當你有些時候不能用ROOT權(quán)限去下載某個插件或升級brew套件的時候就會使用這個命令降級權(quán)限。
三.mac環(huán)境下的配置步驟:
PATH=$PATH:<PATH 1>:<PATH 2>:<PATH N>:------:,中間用冒號隔開。
查看當前PATH命令
#echo $PATH
使用env命令顯示所有的環(huán)境變量
$ env
$ echo $$
31038?????????????? #表示當前shell進程號為31038
執(zhí)行如下命令:source .bash_profile ? 及時生效文件
1.啟動Terminal終端工具
2.輸入cd ~/ 進入當前用戶的home目錄
3. 創(chuàng)建:(#如果沒有創(chuàng)建 如果有這個文件可以直接打開#)
touch .bash_profile
4.打開并編輯:
open .bash_profile
5.輸入編輯環(huán)境變量(根據(jù)你自己的系統(tǒng)目錄路徑自行修改)
例子:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME=$(/usr/libexec/java_home)
export M2_HOME=/Users/leno/work/tools/apache-maven-3.5.0
export PATH=$PATH:$M2_HOME/bin
export NODE_PATH=/usr/local/lib/node_modules/
export CLASS_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
ANDROID_HOME=/Users/leno/work/tools/sdk
export PATH=$PATH:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
export PATH=${PATH}:/Users/leno/work/tools/sdk/build-tools/android-4.4W
export PATH=${PATH}:/Users/leno/work/tools/sdk/tools
PATH=/Library/Frameworks/Python.framework/Versions/2.7/bin:$HOME/bin:/sbin:/usr/bin:/usr/sbin:$PATH:/usr/local/Cellar/mysql/5.7.17/bin:$PATH:/Applications/Appium.app/Contents/Resources/node_modules/appium/bin:$PATH:$JAVA_HOME/bin
export PATH
export ANDROID_HOME
export JAVA_HOME
NODE_PATH=/usr/local/lib/node_modules
export PATH=$NODE_PATH:$PATH
PS: PATH是一個字符串,而$PATH則表明PATH是一個變量,比如echo PATH輸出PATH而echo $PATH則輸出環(huán)境變量PATH
Linux export命令
功能說明:設(shè)置或顯示環(huán)境變量。
語法:export[-fnp][變量名稱]=[變量設(shè)置值]
補充說明:在shell中執(zhí)行程序時,shell會提供一組環(huán)境變量。export可新增,修改或刪除環(huán)境變量,供后續(xù)執(zhí)行的程序使用。export的效力僅及于該次登錄操作。
參數(shù):
-f代表[變量名稱]中為函數(shù)名稱。
-n刪除指定的變量。變量實際上并未刪除,只是不會輸出到后續(xù)指令的執(zhí)行環(huán)境中。
-p列出所有的shell賦予程序的環(huán)境變量。
PATH=$PATH:/sbin意思是把/sbin加入到環(huán)境變量PATH中
export PATH使環(huán)境變量生效
PATH為系統(tǒng)環(huán)境變量,PATH=~/bin:$PATH意思是把根目錄下的bin目錄加入搜索路徑,冒號可以理解為并上也就是加上原來的路徑($PATH)。
總結(jié):以上是我配置自己mac的環(huán)境變量時參考各位大神的文章總結(jié)了一下,方便自己也方便他人,具體參考連接記不得了,就不貼出來了見諒。