[轉載] mac開發者,你不得不知道的環境變更設置方法(如Java的環境變更 source命令 )

參考鏈接: 設置Java環境

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)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/540442.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/540442.shtml
英文地址,請注明出處:http://en.pswp.cn/news/540442.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

人形機器人正在美國史密森尼博物館中擔任導游的工作

Te article has been removed, please visit IncludeHelps home page for more articles 該文章已被刪除,請訪問IncludeHelp的主頁以獲取更多文章翻譯自: https://www.includehelp.com/News/a-humanoid-robot-is-doing-the-job-of-a-guide-in-the-smithsonian-museu…

normalizr API

APInormalizedenormalizeschemaArrayEntityObjectUnionValuesnormalize(data, schema)Normalizes input data per the schema definition provided. 根據提供的schema定義規范化輸入數據。data: required Input JSON (or plain JS object) data that needs normalization.schem…

[轉載] 【Java】基礎06:HelloWorld入門程序

參考鏈接: 從Hello World示例開始Java編程 HelloWorld它的中文意思是:“你好,世界”。 仿佛代表著計算機對世界說出來的第一句話,因為它簡潔實用,所以被作為入門程序廣泛使用。 Java程序開發三步驟:編…

[轉載] Java中的命名參數

參考鏈接: Java命名約定 創建具有許多參數的方法是一個主要的缺點。 每當需要創建這樣的方法時,就在空氣中聞一聞:這是代碼的味道。 強化單元測試,然后進行重構。 沒有借口,沒有屁股。 重構! 使用構建器模…

[轉載] JVM(一):JVM體系結構詳解

參考鏈接: JVM如何工作–JVM體系結構 JVM簡介 JVM是Java程序得以運行的平臺,也是Java程序可以跨平臺的底層支撐,從整體上來看,JVM的主要功能可以分為加載和執行兩大塊。其中類加載器負責.class文件的尋址與加載&#xff0…

數據庫連接池的設計思路及java實現

2019獨角獸企業重金招聘Python工程師標準>>> connectionPool.DBConnectionManager [java] view plain copy package connectionPool; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException; i…

[轉載] java虛擬機 jvm 出入java棧 棧空間內存分配

參考鏈接: Java虛擬機(JVM)堆棧區域 java棧空間是一塊線程私有的內存空間,java堆和程序數據密切相關,那么java棧就是和線程執行密切相關。線程最基本的執行行為就是函數的調用。每次函數調用其實是通過java棧傳遞數據的。 數據結構中的棧的…

SVN命令行更新代碼

命令列表 svn help查看幫助信息 Available subcommands: add auth blame (praise, annotate, ann) cat changeli…

[轉載] Java中Runtime的使用

參考鏈接&#xff1a; Java中的JVM的關閉掛鉤 1 JDK中Runtime的定義 http://blog.csdn.net/lysnow_oss/archive/2007/05/12/1606349.aspx <轉載> 那就首先說點Runtime類吧&#xff0c;他是一個與JVM運行時環境有關的類&#xff0c;這個類是Singleton的。我…

窄帶物聯網(NB-IoT)初步了解

哪有什么天生如此&#xff0c;只是我們天天堅持。既然總有人要贏的話&#xff0c;為什么不能是我呢&#xff1f;[TOC] 什么是NB-Iot? 基于蜂窩的窄帶物聯網&#xff08;Narrow Band Internet of Things, NB-IoT&#xff09;成為萬物互聯網絡的一個重要分支。NB-IoT構建于蜂窩網…

ai人工智能_人工智能能力問答中的人工智能不確定性

ai人工智能1) Which of the following is true with respect to uncertainty in AI systems? Uncertainty arises when we are not 100 percent confident in our decisionsWhenever uncertainty arises, there is needs to be an estimation taken for getting to any conclu…

[轉載] 弄懂JDK、JRE和JVM到底是什么

參考鏈接&#xff1a; JDK JRE和JVM之間的區別 首先是JDK JDK(Java Development Kit) 是 Java 語言的軟件開發工具包(SDK)。 在JDK的安裝目錄下有一個jre目錄&#xff0c;里面有兩個文件夾bin和lib&#xff0c;在這里可以認為bin里的就是jvm&#xff0c;lib中則是jvm工作所需要…

mcq 隊列_人工智能搜索問題能力問題解答(MCQ)

mcq 隊列1) The main Aim of the AI system is to provide a solution for real-life problems by acting and thinking humanly. Whenever an agent is confronted by a problem, what is the first step that it follows towards searching a solution to the problem? Sear…

JavaOne大事紀:IBM談OpenJ9和Open Liberty

JavaOne大會以IBM陳述其最近對開源社區的貢獻作為開場&#xff1a;OpenJ9、Open Liberty和MicroProfile。IBM杰出工程師John Duimovich做了“IBM和Java&#xff1a;助力下一代創新”的開場演講。\\讀者可以回看演講視頻。\\Duimovich說IBM之所以致力于推動Java生態系統的創新&a…

[轉載] JVM中對象的回收過程

參考鏈接&#xff1a; JVM是否創建Main類(具有main()的類)的對象 當我們的程序開啟運行之后就&#xff0c;就會在我們的java堆中不斷的產生新的對象&#xff0c;而這是需要占用我們的存儲空間的&#xff0c;因為創建一個新的對象需要分配對應的內存空間&#xff0c;顯然我的內…

c語言格式對齊填充_C ++中類的大小 課堂上的填充和對齊| 派生類的大小

c語言格式對齊填充Prerequisite: 先決條件&#xff1a; sizeof() operator in C/C C / C 中的sizeof()運算符 Size of struct in C C中的struct大小 We know that a struct size is not only the summation of all the data members, rather its the minimum sum guaranteed. …

ELK系列~對fluentd參數的理解

這段時候一直在研究ELK框架&#xff0c;主要集成在對fluentd和nxlog的研究上&#xff0c;國內文章不多&#xff0c;主要看了一下官方的API&#xff0c;配合自己的理解&#xff0c;總結了一下&#xff0c;希望可以幫到剛入行的朋友們&#xff01; Fluentd&#xff08;日志收集與…

[轉載] Java中的50個關鍵字

參考鏈接&#xff1a; Java平臺如何獨立 Java中的50個關鍵字 關鍵字也稱為保留字&#xff0c;是指java語言中規定了特定含義的標示符。對于保留字&#xff0c;用戶只能按照系統規定的方式使用&#xff0c;不能自行定義。Java中有50個常用關鍵字&#xff1a; 與數據類型相關…

MySQL 直接存儲圖片并在 html 頁面中展示,點擊下載

數據庫實體類&#xff1a; package com.easy.kotlin.picturecrawler.entityimport java.util.* import javax.persistence.*Entity Table(indexes arrayOf(Index(name "idx_url", unique true, columnList "url"),Index(name "idx_category"…

css 文本背景色透明_如何使用CSS將文本或圖像的背景設置為透明?

css 文本背景色透明Introduction: 介紹&#xff1a; In web development, there are numerous ways by which we can style our websites or web pages. You can make use of lots of properties for creating attractive and responsive websites. 在Web開發中&#xff0c;我…