Mac系统zsh环境变量


一、Zsh简介

从 macOS Catalina 开始,Mac 使用 zsh 作为默认登录 Shell 和交互式 Shell。默认情况下,Mac 使用 zsh 或 bash 作为登录 Shell 和交互式 Shell 的命令行解释器:

  • 从 macOS Catalina 开始,zsh (Z shell) 是所有新建用户帐户的默认 Shell。
  • bashmacOS Mojave 及更早版本中的默认 Shell。

zsh 与 Bourne Shell (sh) 高度兼容,并且与 bash 基本兼容(存在一些差别)。要进一步了解 zsh 及其全面的命令行完成系统,请在“终端”中输入:

man zsh

总的来说,Zsh是一个UNIX命令解释器(shell),可以作为交互式登录shell和shell脚本命令处理器使用。在标准shell中,zsh最类似于ksh,但包含许多增强功能。Zsh具有命令行编辑、内置拼写纠正、可编程命令补全、shell功能(具有自动加载)、历史机制和许多其他功能。

二、环境变量

shell 使用环境变量储存信息,例如当前用户的名称、主机名称以及任何命令的默认路径。在 shell 上下文中执行的所有命令都会继承环境变量,部分命令取决于环境变量。

你可以创建环境变量并用来控制命令行为,无需修改命令本身。例如,你可以使用环境变量来让命令将调试信息打印到控制台。若要查看所有环境变量,请输入:

env

当你从 shell 启动 App 时,该 App 将继承大部分的 shell 环境,包括导出的环境变量。这种形式的继承有利于进行 App 的动态配置。例如,你的 App 可以检查某个环境变量的存在(或值),并据此更改其行为。

1 设置当前终端窗口环境变量

export 命令用于设置或显示环境变量,格式为:export[变量名]=[变量值],例如:

export PATH="/opt/homebrew/bin:$PATH"

上面PATH设置时,路径后面加了":$PATH",表示之前PATH的值 ,不加入使得PATH为设置的值(唯一)。注:冒号表示并列。

注意:这个命令设置的环境变量只会在当前终端窗口生效,重新打开一个终端窗口就没有!!!

2 环境变量的持久化

为了让环境变量的设置在所有终端会话中持久有效,你需要将 export 命令添加到你的 Shell 配置文件中,如 .bashrc, .bash_profile, 或 .zshrc(具体文件取决于你使用的 Shell)。这样做之后,每次新的终端窗口开启时,都会自动运行这些配置文件中的命令,从而设置环境变量。可以用如下命令:

echo 'export PATH=/opt/homebrew/bin:$PATH' >> ~/.zshrc

shell的环境变量一般都保存在配置文件中,下面简要介绍一下各种shell的配置文件。

三、配置文件

shell的配置文件有两种,一种是全局配置文件,一种是用户配置文件。推荐设置用户个人自己的环境变量,尽量不破坏Mac系统全局变量。比如若是zsh,那么推荐改动~/.zshrc文件。(注意下面有些文件可能没有,每个电脑不一样)

1 全局配置文件

配置文件描述
/etc/profile系统级别
/etc/paths系统级别
/etc/bashrc基于bash
/etc/zprofile基于zsh
/etc/zshrc基于zsh

2 用户配置文件

配置文件描述
~/bash_profile基于bash(shell)
~/etc/zprofile基于zsh(shell)
~/.zshrc基于(shell)

以zsh为例,介绍一下不同文件的作用。.zprofile.zshrc 这两个文件都是与 Zsh shell 相关的配置文件,它们的作用略有不同:

  1. .zprofile:
    • zprofile 文件是在登录时(login shell)被执行的。当您从登录管理器或远程登录时,Zsh 将被作为登录 shell 启动,并且会执行 .zprofile 中的命令。这通常用于设置一些与登录会话相关的环境变量和执行初始化命令。
  2. .zshrc:
    • .zshrc 文件则是在交互式 non-login shell 启动时被执行的。也就是说,当您在一个已经登录的终端中启动新的 Zsh shell 时,会执行 .zshrc 中的命令。这个文件通常包含了定制提示符、别名、自定义函数等与交互式使用相关的设置。

因此,zprofile 主要用于设置登录会话相关的环境变量和执行初始化命令,而 .zshrc 则主要用于定制交互式 shell 的行为和环境设置。

四、参考资料

  1. 在Mac上的“终端”使用环境变量
  2. Mac系统 - Mac的环境变量
  • 22
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Mac上,如果你使用的是zsh作为默认的登录Shell和交互式Shell,你可以通过以下几种方式来配置Java环境变量: 1. 将环境变量添加到.zshrc文件中。你可以使用以下命令打开或创建.zshrc文件: ``` sudo vi ~/.zshrc ``` 然后在文件中添加以下内容: ``` export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH ``` 保存并退出文件。这样每次打开终端时,环境变量就会自动加载。 2. 在.zshrc文件中添加以下内容: ``` source ~/.bash_profile ``` 这样可以让.zshrc文件加载.bash_profile文件中的环境变量。 3. 切换默认的Shell为bash。你可以按照网上的教程进行操作,将默认的Shell从zsh切换为bash。这样你就可以按照以前的方式配置Java环境变量了。 以上是三种解决方案,你可以根据自己的需求选择其中一种来配置Java环境变量。希望对你有帮助!\[2\] #### 引用[.reference_title] - *1* [Mac安装java并配置环境变量](https://blog.csdn.net/abcnull/article/details/128645449)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [M1 MAC配置JAVA环境](https://blog.csdn.net/xdMango/article/details/125873727)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值