1. 程式人生 > >Mac 環境變數配置

Mac 環境變數配置

mac enviroment variable

mac os是 Unix 核心的桌面版作業系統,Linux 是類 Unix 作業系統。

因為 Unix 與 Linux 的 Shell 一般都是 bash,所以,Mac 下的環境變數設定和 Linux 差不多。

想要理解這些,必須先弄懂幾個概念。

相關概念

Shell

作業系統可以分成核心 kernel (核心)和Shell(外殼)兩部分,其中,Shell 是作業系統與外部的主要介面,位於作業系統的外層,為使用者提供與作業系統核心溝通的途徑。

Shell 俗稱殼(用來區別於核 kernel),是一種「命令解析器」。

Shell 是指一種應用程式,這個應用程式提供了一個介面,使用者通過這個介面訪問作業系統核心的服務。

Shell 管理使用者與作業系統之間的互動:等待你輸入,向作業系統解釋你的輸入,並且處理各種各樣的作業系統的輸出結果。

Shell 指令碼

Shell 指令碼(shell script),是一種為 shell 編寫的指令碼程式。

我們所說的 shell 通常都是指 shell 指令碼,但shell 和 shell script 是兩個不同的概念。

由於習慣的原因,簡潔起見,本文出現的 “shell程式設計” 都是指 shell 指令碼程式設計,不是指開發 shell 自身

Shell 種類

不同系統有不同的 Shell,如 bash、C shell、windows power shell

等等;

如果簡單分類的話,可以分為兩類,分別是圖形化 Shell命令列 Shell

比如說,在windows系統中見到的桌面即explorer.exe(資源管理器)是圖形 shell ,而 cmd ( win+R 輸入 cmd 可以開啟cmd.exe,進行命令列操作) 就是命令列 shell。

cmd 與 dos

cmd 屬於 windows 系統的一部分,dos 本身就是一個系統,在 dos 系統下可以刪除,修復windows系統,而在cmd下則不行。只是 cmd 中的某些命令和 dos 中的命令相似,因此很多人把二者混為一談。

圖形 Shell 非常簡單,封裝了許多常用操作,對普通使用者非常友好,但面對複雜的、不常用的操作卻無能為力。

在 window 中,其 命令列 Shell 的cmd 功能有限,相對於 Linux 的 Shell 有很大差距。在 Linux 系統中,Shell 指令碼中可以有迴圈,不僅可以執行基本的條件語句,很多在程式語言中才有的功能它都具備,所以 Linux 下的 Shell 功能非常強大,可以高效率的完成很多複雜的事情。

我們一般所說的 Shell 都是 Linux 系統下的 Shell。

Linux 系統下的 Shell 種類眾多,不同的 shell 具備不同的功能,shell 還決定了指令碼中函式的語法,Linux中預設的 Shell是 bash(/bin/bash)。

mac 檢視系統使用的Shell :

echo $SHELL

mac 一般使用bash作為預設shell。

Bourne Shell(/bin/sh)

sh(全稱 Bourne Shell) 是UNIX最初使用的 shell,而且在每種 UNIX 上都可以使用。
Bourne Shell 在 shell 程式設計方面相當優秀,但在處理與使用者的互動方面做得不如其他幾種 shell。

Bourne Again Shell (/bin/bash)

bash(全稱 Bourne Again Shell)是 Linux 預設的 Shell ,它是 Bourne Shell 的擴充套件,與 Bourne Shell 完全相容,並且在 Bourne Shell 的基礎上增加了很多特性。可以提供命令補全,命令編輯和命令歷史等功能。它還包含了很多 C Shell 和 Korn Shell 中的優點,有靈活和強大的編輯介面,同時又很友好的使用者介面。

C Shell(/bin/csh)

csh(全稱 C Shell) 用的是“類C”語法,csh是具有C語言風格的一種shell,其內部命令有52個,較為龐大。目前使用的並不多,已經被/bin/tcsh所取代。

K Shell (/bin/ksh)

ksh (全稱 Korn Shell) 集合了 C Shell 和 Bourne Shell 的優點並且和 Bourne Shell 完全相容。

TC shell (/bin/tcsh)

tcsh是csh的增強版,與 C shell 完全相容

Z Shell (/bin/zsh )

Z shell是Korn shell的一個增強版本,具備bash shell的許多特色,是目前Linux裡最龐大的一種shell。它有84個內部命令,使用起來也比較複雜。

配置的位置

Mac系統的環境變數,載入順序為:

1、系統級別的

/etc/profile 不建議修改此檔案,全域性配置。

/etc/bashrc 一般在此檔案新增系統級環境變數,bash Shell執行時,都會讀取此檔案。

/etc/paths 許多博文是在這個檔案裡面新增全域性環境變數的。

2、使用者級別的

~/.bash_profile 一般在此檔案中新增使用者級環境變數,使用者登入時,僅執行一次。

~/.bash_login

~/.profile 可以設定本使用者專有的路徑,環境變數,等,它只能登入的時候執行一次

~/.bashrc 也是某使用者專有設定文件,可以設定路徑,命令別名,每次shell script的執行都會使用它一次

etc目錄下面的是系統級的配置,~目錄下的是使用者配置,使用者配置檔案只會載入一個(.bashrc除外)

根據系統的環境變數載入順序,我們一般有兩個地方可以編輯環境變數:/etc/bashrc~/.bash_profile ,區別就是 /etc/bashrc 是全域性系統的環境變數,~/.bash_profile 是當前使用者的環境變數。

Vim 編輯器

在 linux 家族中,vim編輯器是系統自帶的文字編輯器,在配置環境變數時,可以會直接使用vim編輯器,所以要先學下Vim編輯器。

Vim編輯器中內設有的三種模式——命令模式、末行模式和編輯模式,每種模式分別又支援多種不同的命令快捷鍵組合,大大的提高了工作效率。

vim編輯器三種模式

  • 命令模式:控制游標移動,可對文字進行刪除、複製、貼上和查詢等工作。
  • 輸入模式:正常的文字錄入。
  • 末行模式:儲存、退出與設定編輯環境。

每次執行vim編輯器後都預設會是“命令模式”,需要先進入到“輸入模式”後再進行編寫文件的工作,而每次編輯完成需先返回到“命令模式”後再進入“末行模式”中執行對文字的儲存或退出操作,並不能直接從“輸入模式”切換到“末行模式”。

在命令模式和末行模式中最常用的一些快捷鍵命令,如下表所示:

命令 作用
dd 刪除(剪下)游標所在整行。
5dd 刪除(剪下)從游標處開始的5行。
yy 複製游標所在整行。
5yy 複製從游標處開始的5行。
n 顯示搜尋命令定位到的下一個字串。
N 顯示搜尋命令定位到的上一個字串。
u 撤銷上一步的操作
p 將之前刪除(dd)或複製(yy)過的資料貼上到游標後。
?字串 在文字中從下至上搜索該字串。
/字串 在文字中從上至下搜尋該字串。

末行模式主要用於儲存或退出檔案,能夠設定vim編輯器的整體使用環境,還可以讓使用者執行外部Linux命令或跳轉到特定的行數,切換到末行模式的方式就是在命令模式中輸入一個冒號就可以的,末行模式中可用的命令如下表:

命令 作用
:w 儲存
:q 退出
:q! 強制退出(放棄對文字的修改內容)
:wq! 強制儲存退出
:set nu 顯示行號
:set nonu 不顯示行號
:命令 執行該命令
:整數 跳轉到該行
:s/one/two 將當前游標所在行的第一個one替換成two
:s/one/two/g 將當前游標所在行的所有one替換成two
:%s/one/two/g 將全文中的所有one替換成two

在末行模式下,使用最多的是 wq 儲存退出。

環境變數

這裡以配置Java環境變數為例,來說明Mac下配置環境變數的步驟。

  1. 檢視系統的環境變數:

    echo $PATH

  2. 更新或者新建配置檔案。

    touch ~/.bash_profile

    這裡,Mac一般選擇 「~/.bash_profile」這個檔案來配置環境變數。

    touch這個命令有兩個作用,如果這個檔案存在,則更新修改時間,如果不存在,則建立這個檔案。

  3. 使用vim編輯器,開啟配置檔案

    vim ~/.bash_profile

    如果提示沒許可權的話,輸入

    sudo vim ~/.bash_profile

    然後輸入密碼後,使用 root 許可權操作。

    如果不喜歡使用 vim 編輯器,也可使用 Mac 預設的文字編輯器開啟

    open ~/.bash_profile

  4. 新增環境變數

    如果是第一次開啟,這個檔案應該是空的,新增環境變數如下:

    JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
    CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    PATH=$JAVA_HOME/bin:$PATH:
    export JAVA_HOME
    export CLASSPATH
    export PATH

    完成後,儲存並退出編輯器。

  5. 更新環境變數 , 使其生效,在終端輸入

    source ~/.bash_profile

    這樣就完成了 Java 環境變數的配置,其他環境變數的配置類似。

問題

如果你的命令列安裝了zshoh-my-zsh,修改環境變數時有些小的變化。

比如,修改的是~/.bash_profile,那麼必須source ~/.bash_profile才能生效,而且重啟後繼續無效,因為 zsh !我的終端是iTerm2,它很炫酷,但就是環境變數搞不成。

Google 找到了問題所在,安裝 zsh後,~/.bash_profile並沒有被執行,所以需要編輯 zsh 的配置檔案~/.zshrc,在該檔案里加入source ~/.bash_profile 來更新配置檔案。

具體操作是,在終端輸入vim ~/.zshrc

在檔案末尾加一句 source ~/.bash_profile

然後儲存退出。

參考

相關推薦

Mac環境變數配置錯了以後初始化的方法

轉自:https://blog.csdn.net/or_7r_ccl/article/details/50886223 配置過安卓開發環境,改過bash_profile這個檔案,最後不知怎麼的只有cd命令能執行,我猜測可能修改bash_profile檔案後沒有儲存 導致的 儲存命令是: source .bas

Mac 環境變數配置

mac os是 Unix 核心的桌面版作業系統,Linux 是類 Unix 作業系統。 因為 Unix 與 Linux 的 Shell 一般都是 bash,所以,Mac 下的環境變數設定和 Linux 差不多。 想要理解這些,必須先弄懂幾個概念。

Mac 安裝jdk及環境變數配置

一、訪問jdk官網下載 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 注意勾選下圖紅色方框區域,選擇需要系統版本下載 二、安裝jdk

MAC系統安裝JDK1.8及環境變數配置

首先本次安裝的系統版本和配置如下: 由於系統版本各有差異,會導致選單選項各有不同,請大家注意。 教程內容為在MAC蘋果系統下安裝JDK1.8並配置系統環境變數。 主要分為以下幾個步驟: 1.到Oracle官網下載JDK1.8安裝包。 2.開啟獲取到的安裝包按步驟安裝到系統上

MAC中JAVA環境變數配置以及Intellij IDEA如何配置JDK

安裝Java和配置環境變數 雙擊安裝,安裝完成後設定Java環境變數: 檢視JDK根目錄路徑(後面配置環境變數要用到):開啟終端 //檢視JDK根目錄命令 /usr/libexec/java_home -V //輸出(先輸出所有當前Mac已安裝jdk目錄

MAC中Maven環境變數配置以及Intellij IDEA如何配置Maven

Maven安裝和環境變數配置 下載後將Maven解壓縮  (這裡我將解壓縮後的Maven放在/Users/LeLe/software/apache-maven-3.5.4) 在終端使用以下命令開啟配置檔案,設定path vi ~/.bash_profile 在配置

安裝JDK及環境變數配置MAC版本)

1、訪問Oracle官網 http://www.oracle.com,瀏覽到首頁的底部選單 ,然後按下圖提示操作: 2.點選“JDK DOWNLOAD”按鈕: 3.選擇“Accept Lisence Agreement”同意協議: 4.點

Mac 配置jdk & Maven環境變數配置

今天在配置執行命令:mvn -version,報如下錯誤:  in thread "main" java.lang.UnsupportedClassVersionError: org/apache/m

mac JDK GIT 環境變數配置

JDK的配置程式碼:JAVA_HOME="/Library/Java/JavaVirtualMachines/JDK1.7.0_80/Contents/Home"export JAVA_HOMECLASS_PATH="$JAVA_HOME/lib"PATH=".$PATH:$

Maven學習記錄2——Mac maven、jdk環境變數配置

最近一直在學習使用Macbook,在這裡記錄一下所有遇到的問題 問題起源: 1.Macbook 安裝了Eclipse,Eclipse裝入外掛maven & git , 但是在git中clone project 的時候,經常會報錯: Could not ca

Mac環境變數配置

以android ndk配置舉例子 1.開啟終端 輸入open -e .bash_profile 2.假如本地沒有.bash_profile,則建立 建立 .bash_profile 檔案 輸入 touch .bash_profile 3.開啟

【4】配置錄---MAC安裝JDK及環境變數配置

一、安裝 請參照 二、配置JDK環境變數 1.檢視是否存在.bash_profile的隱藏配置檔案 ls -lah 2.建立一個.bash_profile的隱藏配置檔案(如果你是為編輯已存在的配置檔案,省略此步驟) touch .bash_profile 3.

Mac OS X系統下的Android環境變數配置

在Mac下開發Android,要想在終端利用命令列使用adb/android等命令時,需要配置一下環境變數。 步驟: 1.首先,假設你已經下載了Android SDK,解壓後安裝了adb。記住sdk資料夾路徑。我個人的路徑為/Users/jeff/Downloads/adt

MAC系統安裝JDK1.8及環境變數配置,Tomcat配置

首先本次安裝的系統版本和配置如下: 由於系統版本各有差異,會導致選單選項各有不同,請大家注意。 教程內容為在MAC蘋果系統下安裝JDK1.8並配置系統環境變數。 主要分為以下幾個步驟: 1.到Oracle官網下載JDK1.8安裝包。 2.開啟獲取到的安裝包按步驟安裝到系統上。 3.配置系統的環境變數。

mac下ant的安裝和環境變數配置(3.0版本)

建立專案環境配置: 1.在dos下新建專案 : cocos new test -p com.hj.test -l cpp -d D:\cocos2dx\cocos2d-x-3.0rc1\projects\hello(工程所在路徑) 2.生成android或 ios的APK: cocos run -

MAC環境Android SDK環境變數配置20180715

一、材料 1.Mac裝置1臺; 2.下載並更新android SDK;示列中sdk存放路徑為/Users/gametest/Library/Android/sdk 二、操作步驟 1.啟動Terminal終端工具; 2.進入當前使用者的home目錄,輸入命令:cd

Mac下java環境變數配置

發現有很多人在問,下載了Oracle的jdk後,環境變數不知道如何設定,所以今天開了篇文章,專門講jdk在mac系統中如何設定環境變數的。    idk在mac系統中,其實有兩個路徑,一個是預設的,一個是下載了的jdk,需要更新的。    預設的是很好找的。在終端中輸入whe

mac電腦Homebrew的安裝及環境變數配置

本文章來源於:文章1:寒光冷劍文章:https://blog.csdn.net/G_eorge/article/details/51378654                      文章2:LBinin文章:https://blog.csdn.net/lbinin/ar

mac adb環境變數配置

1、找到mac 下adb的路徑: 在cmd命令下: 首先說一下命令的用法 touch filename 常用用法:touchfilename如果filename存在,使用touch指令可更改這個檔案或目錄的日期時間,包括存取時間和更改時間;如果filename不存在,tou

Mac Matlab安裝破解教程 + 環境變數配置 (附軟體下載)

(1)下載 (2)輸入安裝金鑰 (3)啟用/破解部分 a、安裝完成後直接啟動matalb 2017b 提示需要啟用,選擇在不使用Internet的情況下手動啟用點選下一步; b、選擇輸入許可證路徑,選擇下載好的crack資料夾裡的License檔案,點選下一步啟用