[轉載] mac開發者,你不得不知道的環境變更設定方法(如Java的環境變更 source命令 )
Mac是基於Unix的,所有先來幾個常識與命令:
Unix中雙引號單引號反引號(" ' `)的區別
Unix中雙引號起到“弱引用”的作用:被引用的字元大部分被按照字元字面的意思解釋執行,除了了$,\,`字元除外。
[因為弱,所以要“雙”引號]
Unix中單引號起到“強引用”的作用:被引用的字元全部被按照字元字面的意思解釋執行。
[因為強,所以要“單”引號就夠了]
Unix中反引號起到“反引用”的作用:被引用的字元全部被按照字元代表的命解釋執行,通常用於命令替換。
[因為要反過來解釋,所以要“反”引號]
例子:
echo “$HOME”
output:列印HOME變數代表的值。
echo ’$HOME‘
output:列印$HOME。
echo "the date today is `date`"
output: the date today is +date 命令的結果
命令替換:`date`先於echo執行,結果替換到echo中。
echo 'the date today is `date`‘
output: the date today is `date`
source命令
一、首先檢視shell版本 使用命令echo $SHELL 如果輸出的是:csh或者是tcsh,就是C Shell。 如果輸出的是:bash,sh,zsh,就是Bourne Shell的一個變種。 Mac OS X 10.3之後預設的是Bourne Shell。 Mac OS X 10.2之前預設的是C Shell,使用的命令是setev。 二、針對Bourne Shell新增環境變數 1.建立並以 TextEdit 的方式開啟 ~/.bash_profile 檔案 touch ~/.bash_profile; open -t ~/.bash_profile 2.新增環境變數 export PATH="$HOME/.rbenv/bin:$PATH" 3.讓以上所做的配置生效 source ~/.bash_profile 4.檢視是否生效(有時可能需要關閉當前 Terminal 視窗重新開啟一個) echo $PATH 需要注意的一點(冒號乃環境變數的分隔符): $HOME/.rbenv/bin:$PATH 中的 $PATH 特指 /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin 如果要新增多個環境變數的話,需按照如下的方式來書寫: export PATH="$PATH:/Applications/MacVim-snapshot-68" export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" 三、針對Bourne Shell刪除環境變數 若要刪除環境變數:unset DYLD_LIBRARY_PATH,其中DYLD_LIBRARY_PATH(環境變數名) 刪除環境變數之後需要先logout,關閉terminal,再重新開啟terminal 四、針對Bourne Shell恢復環境變數 PATH=$(getconf PATH),執行此命令將環境變數恢復到系統初始值 source命令(從 C Shell 而來)是bash shell的內建命令。點命令,就是一個點符號,(從Bourne Shell而來)是source的另一名稱。同樣的,當前指令碼中設定的變數也將作為指令碼的環境,source(或點)命令通常用於重新執行剛修改的初始化檔案,如 .bash_profile 和 .profile 等等。例如,如果在登入後對 .bash_profile 中的 EDITER 和 TERM 變數做了修改,則可以用source命令重新執行 .bash_profile 中的命令而不用登出並重新登入。把兩個命令用&&聯接起來,如 make mrproper &&make menuconfig ,表示要第一個命令執行成功才能執行第二個命令。 在編譯核心時,常常要反覆輸入一長串命令,如 make mrproper make menuconfig make dep make clean make bzImage .......
Mac OS增刪環境變數
一、首先檢視shell版本 使用命令echo $SHELL 如果輸出的是:csh或者是tcsh,就是C Shell。 如果輸出的是:bash,sh,zsh,就是Bourne Shell的一個變種。 Mac OS X 10.3之後預設的是Bourne Shell。 Mac OS X 10.2之前預設的是C Shell,使用的命令是setev。 二、針對Bourne Shell新增環境變數 1.建立並以 TextEdit 的方式開啟 ~/.bash_profile 檔案 touch ~/.bash_profile; open -t ~/.bash_profile 2.新增環境變數 export PATH="$HOME/.rbenv/bin:$PATH" 3.讓以上所做的配置生效 source ~/.bash_profile 4.檢視是否生效(有時可能需要關閉當前 Terminal 視窗重新開啟一個) echo $PATH 需要注意的一點(冒號乃環境變數的分隔符): $HOME/.rbenv/bin:$PATH 中的 $PATH 特指 /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin 如果要新增多個環境變數的話,需按照如下的方式來書寫: export PATH="$PATH:/Applications/MacVim-snapshot-68" export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" 三、針對Bourne Shell刪除環境變數 若要刪除環境變數:unset DYLD_LIBRARY_PATH,其中DYLD_LIBRARY_PATH(環境變數名) 刪除環境變數之後需要先logout,關閉terminal,再重新開啟terminal 四、針對Bourne Shell恢復環境變數 PATH=$(getconf PATH),執行此命令將環境變數恢復到系統初始值
Mac新增環境變數的三種方法
法一: sudo vi /etc/paths 來編輯 paths,將環境變數新增到 paths 中。 vim 是一個編輯器,另外還有幾個,如:Pico,Emacs。 Hint:輸入環境變數時,不用一個一個地輸入,只要拖動資料夾到 Terminal 裡就可以了。 法二: 1.建立一個檔案: sudo touch /etc/paths.d/mysql 2.用 vim 開啟這個檔案(如果是以 open -t 的方式開啟,則不允許編輯): sudo vim /etc/paths.d/mysql 3.編輯該檔案,鍵入路徑並儲存(關閉該 Terminal 視窗並重新開啟一個,就能使用 mysql 命令了) /usr/local/mysql/bin 據說,這樣可以自己生成新的檔案,不用把變數全都放到 paths 一個檔案裡,方便管理。 法三: 1.建立並以 TextEdit 的方式開啟 ~/.bash_profile 檔案 touch ~/.bash_profile; open -t ~/.bash_profile 2.新增環境變數 export PATH="$HOME/.rbenv/bin:$PATH" 3.讓以上所做的配置生效 source ~/.bash_profile 4.檢視是否生效(有時可能需要關閉當前 Terminal 視窗重新開啟一個) echo $PATH 需要注意的一點(冒號乃環境變數的分隔符): $HOME/.rbenv/bin:$PATH 中的 $PATH 特指 /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin 如果要新增多個環境變數的話,需按照如下的方式來書寫: export PATH="$PATH:/Applications/MacVim-snapshot-68" export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)"
Mac上的Java究竟在哪兒
習慣了在Windows下開發的朋友,初次在Mac下進行Java程式設計開發對其安裝位置都要糾結半天。這裡作如下說明 1. Mac下當你在【終端】輸入java -version時,是執行的哪裡的java呢,which java命令可以看到,就是【/usr/bin/java】 2. 【/usr/bin/java】只是個替身,實際指向【/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java】,如圖,ls -l java就可以看到 3. 第2點提到的【/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java】其實也不是真正的java,因為Current資料夾是替身,它指向了同目錄下的某個版本,例如A資料夾,如下圖:(這樣的好處是裝了多個版本java後,可以方便地調整Current指向,使得不同版本java變成系統預設的,通常在【實用工具】->【Java偏好設定】裡可以調整)
4.第3點提到的A資料夾是安裝java後系統生成的。它裡面的Commands資料夾下有個java可執行檔案,這個java其實呼叫了真真正正的java原身–>【/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home/bin/java】(你試試把這個java改個名,再在終端裡輸入java就明白了哦) PS:這裡的版本號(1.6.0_37-b06-434)不同的機器可能不一樣,也可能會存在多個版本,這就看你機器上裝了多少個版本的java了 5. 歸根到底,【/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home/bin/java】才是真正的工作者啊,繞吧
$JAVA_HOME環境變數在Mac OS X中設定的問題
Mac OSX新版本(10.5+)之後,已經建議$JAVA_HOME的設定用 /usr/libexec/java_home,因為java_home 可以根據你的需要返回指定的版本。
1、預設是檢視當前版本:
1 $ /usr/libexec/java_home
2 /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
2、-V (大寫)引數可以列出所有的版本:
1 $ /usr/libexec/java_home -V
2 Matching Java Virtual Machines (5):
3 1.7.0_25, x86_64: "Java SE 7"/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
4 1.6.0_65-b14-462, x86_64: "Java SE 6"/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
5 1.6.0_65-b14-462, i386: "Java SE 6"/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
6 1.6.0_37-b06-434, x86_64: "Java SE 6"/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home
7 1.6.0_37-b06-434, i386: "Java SE 6"/Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Home
8
9 /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
3、-a 引數可以根據CPU的型別過濾
1 $ /usr/libexec/java_home -a i386
2 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
3 $ /usr/libexec/java_home -a x86_64
4 /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
4、-d 引數可以過濾 32位、64位
1 $ /usr/libexec/java_home -d 32
2 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
3 $ /usr/libexec/java_home -d 64
4 /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
5、-v (小寫)引數可以過濾版本:
1 micmiu-mbp:~ micmiu$ /usr/libexec/java_home -v 1.6
2 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
3 micmiu-mbp:~ micmiu$ /usr/libexec/java_home -v 1.7
4 /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
以後就可以在~/.profile 中按照如下方法自定義$JAVA_HOME:
1 #指定預設版本
2 export JAVA_HOME=`/usr/libexec/java_home`
3 export JAVA_HOME=$(/usr/libexec/java_home)
4 #指定自定義版本
5 export JAVA_HOME=`/usr/libexec/java_home -d 64 -v 1.6`
6 export JAVA_HOME=$(/usr/libexec/java_home -d 64 -v 1.6)
相關文章
- 環境變數的設定方法(轉)~變數
- Mac 設定環境變數的位置、檢視和新增PATH環境變數Mac變數
- java jdk 設定環境變數JavaJDK變數
- win 命令列 設定環境變數命令列變數
- win10環境變數怎麼設定 win10設定環境變數的方法Win10變數
- JAVA下載安裝及設定環境變數Java變數
- ansible設定環境變數變數
- ansible 設定環境變數變數
- export 設定環境變數Export變數
- Linux設定環境變數Linux變數
- 什麼是環境變數?Python中如何設定環境變數?變數Python
- win10環境變數怎麼設定 win10環境變數更改的方法步驟Win10變數
- java 環境變數的配置Java變數
- Java 環境變數Java變數
- 什麼是環境變數?python設定環境變數有什麼用?變數Python
- win10環境變數設定怎麼編輯 win10設定環境變數的位置在哪Win10變數
- 4.2.10.2 設定和取消設定環境變數變數
- JDK1.8環境變數設定JDK變數
- Golang環境變數設定詳解Golang變數
- linux系統設定環境變數Linux變數
- Vue 設定環境變數和模式Vue變數模式
- python 獲取設定環境變數Python變數
- Centos7環境變數設定CentOS變數
- Java環境變數新增Java變數
- 更優雅的配置:docker/運維/業務中的環境變數Docker運維變數
- 在Linux中,什麼是環境變數?如何設定和檢視環境變數?Linux變數
- win10 如何讓環境變數生效_windows10如何設定環境變數Win10變數Windows
- win10 gcc環境變數怎麼設定_win10設定gcc環境變數步驟Win10GC變數
- Linux環境變數的設定、檢視、刪除Linux變數
- java配置環境變數的錯誤Java變數
- Linux下Java環境變數的配置LinuxJava變數
- Linux字符集環境變數設定Linux變數
- Rust 使用 dotenv 來設定環境變數Rust變數
- ubuntu-設定系統環境變數Ubuntu變數
- 系統預設環境變數PATH設定變數
- linux java環境變數配置LinuxJava變數
- tomcat配置環境變數win10怎樣設定_win10如何設定tomcat配置環境變數Tomcat變數Win10
- 5個Python整合開發環境,哪個你更喜歡?Python開發環境