以ADB为例 , 其实就是在终端输入下面一句shell命令就ok:
export PATH=${PATH}:~/Library/Android/sdk/platform-tools:~/Library/Android/sdk/tools
当然还没完, 以上操作确实达到了修改环境变量的目的, 但是仅仅保证对此次会话有效, 也就是说当你重启终端后,你配置的这个adb的环境变量就失效了, 又得需要重新输入一次...
那么如何将这条shell命令"持久化", 每次启动终端都自动运行? 我们可以用shell的配置文件来实现.
配置文件里可以预置一些shell命令, 每次打开终端时自动加载配置文件, 从而实现预置代码的自动运行
1. 寻找当前shell的配置文件
echo $SHELL
查看当前shell版本, 使用的shell不同, 对应的配置文件也不一样
- 如果是bash
vim ~/.bash_profile
//或者
vim ~/.bashrc
- 如果是zsh
vim ~/.zshrc
PS.通过如下命令可切换shell
//切换到zsh
chsh -s `which zsh`
//切换到bash
chsh -s `which bash`
重启终端 (如果是Linux可能需要重启系统才能生效)
其他shell可通过cat /etc/shells
查看当前系统已安装的shell所有版本
2. 修改配置文件
找到了配置文件, 那么就可以将我们最初的那行shell命令放进去了
export PATH=${PATH}:~/Library/Android/sdk/platform-tools:~/Library/Android/sdk/tools
3. 重载配置文件, 使修改生效
两种方式:
3.1 粗鲁的方式: 重启终端;
3.2 优雅的方式: 重载配置文件
source ~/.bash_profile
或者 . ~/.bash_profile
此处用法具体可参考 Shell 文件包含
4. export语法解释
- ${}为占位符,${PATH} 和 $PATH等效
- =前后不能有空格
- : 为分隔符(等同于windows环境变量中的 ; )
- 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
使环境变量生效
export PATH
- shell中可以通过
export -p
命令查看所有环境变量