美文网首页windows、mac实用知识
Mac环境变量配置及语法解释

Mac环境变量配置及语法解释

作者: Jessewo | 来源:发表于2017-05-06 23:11 被阅读74次

以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命令查看所有环境变量

相关文章

网友评论

  • captain991:能再解释一下source什么意思么?
    1.是不是只要保存一次就可以删除掉了?
    2.或者如果重启的话是不是就不需要写这个source了
    3.还有好像应该是“source ~/.bash_profile”而不是“source .bash_profile”吧
    Jessewo:@captain991 前面通过Vim修改了shell的配置文件,那么如果想让修改及时生效就得用这个source重新加载一下配置文件。另外,改了配置文件就永久生效了,下次重启shell甚至重启系统都会重新读取你最新的配置。~ 代表当前用户的home目录,你的写法是直接绝对路径,我写的是相对路径,两种都可以,当然你这种更严谨。🙂

本文标题:Mac环境变量配置及语法解释

本文链接:https://www.haomeiwen.com/subject/lvoqzttx.html