以ADB為例 , 其實就是在終端輸入下面一句shell命令就ok:
export PATH=${PATH}:~/Library/Android/sdk/platform-tools:~/Library/Android/sdk/tools
當然還沒完, 以上操作確實達到了修改環(huán)境變量的目的, 但是僅僅保證對此次會話有效, 也就是說當你重啟終端后,你配置的這個adb的環(huán)境變量就失效了, 又得需要重新輸入一次...
那么如何將這條shell命令"持久化", 每次啟動終端都自動運行? 我們可以用shell的配置文件來實現(xiàn).
配置文件里可以預置一些shell命令, 每次打開終端時自動加載配置文件, 從而實現(xiàn)預置代碼的自動運行
1. 尋找當前shell的配置文件
echo $SHELL
查看當前shell版本, 使用的shell不同, 對應(yīng)的配置文件也不一樣
- 如果是bash
vim ~/.bash_profile
//或者
vim ~/.bashrc
- 如果是zsh
vim ~/.zshrc
PS.通過如下命令可切換shell
//切換到zsh
chsh -s `which zsh`
//切換到bash
chsh -s `which bash`
重啟終端 (如果是Linux可能需要重啟系統(tǒng)才能生效)
其他shell可通過cat /etc/shells
查看當前系統(tǒng)已安裝的shell所有版本
2. 修改配置文件
找到了配置文件, 那么就可以將我們最初的那行shell命令放進去了
export PATH=${PATH}:~/Library/Android/sdk/platform-tools:~/Library/Android/sdk/tools
3. 重載配置文件, 使修改生效
兩種方式:
3.1 粗魯?shù)姆绞? 重啟終端;
3.2 優(yōu)雅的方式: 重載配置文件
source ~/.bash_profile
或者 . ~/.bash_profile
此處用法具體可參考 Shell 文件包含
4. export語法解釋
- ${}為占位符,${PATH} 和 $PATH等效
- =前后不能有空格
- : 為分隔符(等同于windows環(huán)境變量中的 ; )
- PATH=$PATH:xxx 可以理解為 " PATH+=xxx "(當然不能這么寫)
PATH=xxx:$PATH這種寫法亦可,只是前后順序的問題; - 以上命令可以拆為兩行:
把adb所在路徑~/Library/Android/sdk/platform-tools:~/Library/Android/sdk/tools
加入到PATH中去弱判;
PATH=${PATH}:~/Library/Android/sdk/platform-tools:~/Library/Android/sdk/tools
使環(huán)境變量生效
export PATH
- shell中可以通過
export -p
命令查看所有環(huán)境變量