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 可以检查某个环境变量的存在(或值),并据此更改其行为。

设置环境变量

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

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

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

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

配置文件

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

全局配置文件

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

用户配置文件

配置文件 描述
~/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的环境变量
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇