【Mac】配置文件

news2024/11/20 4:27:47

1、针对Bash Shell的配置文件

  • ~/.bash_profile
    • 读取时机:当用户登录到 Bash shell 时读取。这是 Bash shell 特有的配置文件。
    • 作用范围:用户级配置,仅适用于当前用户的 Bash shell 会话。
    • 内容:通常用于设置环境变量、路径、别名和其他用户级配置。~/.bash_profile 还可以用来调用其他配置文件,如 ~/.bashrc。
  • ~/.bashrc
    • 读取时机:每次打开新的 Bash shell 会话时(无论是通过终端还是其他方式)都会读取。
    • 作用范围:用户级配置,仅适用于当前用户的 Bash shell 会话。
    • 内容:通常用于设置别名、函数、主题等个性化配置。与 ~/.bash_profile 不同,~/.bashrc 更侧重于交互式会话的个性化设置。

2、针对Zsh Shell的配置文件

  • ~/.zprofile
    • 读取时机:~/.zprofile 通常在用户登录到 Zsh shell 时被读取。这意味着,当用户通过 SSH 登录到系统,或者使用终端模拟器以登录 shell 的方式启动 Zsh 时,这个文件会被执行。
    • 作用范围:用户级配置,仅对当前用户有效。
    • 内容:通常用于设置环境变量、路径和其他全局配置,这些配置只需要在用户登录时执行一次。由于 ~/.zprofile 是在登录时读取的,因此它适合放置那些只需要在会话开始时执行一次的命令或设置。
  • ~/.zshrc
    • 读取时机:~/.zshrc 每次打开新的 Zsh 会话时都会被读取,无论是通过终端直接打开的交互式 shell,还是通过其他方式启动的非登录 shell。
    • 作用范围:用户级配置,仅对当前用户有效。
    • 内容:通常用于设置别名、函数、主题、环境变量以及其他个性化配置。由于 ~/.zshrc 在每次新的 shell 会话时都会被读取,因此它适合放置那些每次打开终端时都需要生效的设置。

3、系统级配置文件

  • /etc/profile:全局共有配置,为系统的每个用户设置环境信息和启动程序。其配置对所有登录的用户都有效,但由于它影响所有用户,因此一般不建议轻易修改。

  • /etc/paths:全局共有配置,任何用户登录时都会读取该文件。它用于设置环境变量,但不需要使用export命令。文件内容中的每一行路径都会被添加到环境变量中。系统启动时会加载该文件,修改它需要Root权限。

  • /etc/bashrc:系统级配置,为每个运行bash shell的用户执行该文件。当bash shell打开时,该文件被执行,其配置对所有使用bash的用户打开的每个bash都有效。

4、总结

Mac系统环境变量的加载顺序:a -> f

a. /etc/profile 
b. /etc/paths  
c. ~/.bash_profile 	
d. ~/.bash_login 	
e. ~/.profile 		
f. ~/.bashrc 

自macOS Catalina(10.15)以来,Zsh已成为macOS的默认shell。因此,大多数用户会在.zshrc文件中进行配置,以确保每次打开终端时都能应用个性化设置。然而,仍有一些用户可能在使用Bash,特别是在某些特定环境中(如脚本编写),在这种情况下,他们会在.bashrc文件中进行配置。

请注意,配置文件的加载顺序和优先级可能因Mac OS版本和用户的具体设置而有所不同。在进行配置修改时,建议先备份原始文件,并仔细了解每个配置文件的作用和加载顺序,以避免不必要的错误和冲突。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2243801.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

可认证数据资产合约标准协议(CMIDA-1)意见征集

标准背景 数据资产具备多维度的属性,涵盖行业特性、状态信息、资产类型、存储格式等。数据资产在不同流通主体之间可理解、可流通、可追溯、可信任的重要前提之一是存在统一的标准,缺失统一的标准,数据混乱冲突、一数多源、多样多类等问题将…

大数据-227 离线数仓 - Flume 自定义拦截器(续接上节) 采集启动日志和事件日志

点一下关注吧!!!非常感谢!!持续更新!!! Java篇开始了! 目前开始更新 MyBatis,一起深入浅出! 目前已经更新到了: Hadoop&#xff0…

Solana应用开发常见技术栈

编程语言 Rust Rust是Solana开发中非常重要的编程语言。它具有高性能、内存安全的特点。在Solana智能合约开发中,Rust可以用于编写高效的合约代码。例如,Rust的所有权系统可以帮助开发者避免常见的内存错误,如悬空指针和数据竞争。通过合理利…

redis类型介绍

1. 字符串(String): • 简介:最基础的数据类型,可以存储任何形式的字符串,包括文本数据和数字数据。 • 常用操作:SET、GET、INCR、DECR等。 2. 列表(List): …

Pytest-Bdd-Playwright 系列教程(10):配置功能文件路径 优化场景定义

Pytest-Bdd-Playwright 系列教程(10):配置功能文件路径 & 优化场景定义 前言一、功能文件路径的配置1.1 全局设置功能文件路径1.2. 在场景中覆盖路径 二、避免重复输入功能文件名2.1 使用方法2.2 functools.partial 的背景 三、应用场景总…

HarmonyOs鸿蒙开发实战(17)=>沉浸式效果第二种方案一组件安全区方案

1.沉浸式效果的目的 开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来减少状态栏导航条等系统界面的突兀感,从而使用户获得最佳的UI体验。 2.组件安全区方案介绍 应用在默认情况下窗口背景绘制范围是全屏,但UI元素被限制在安全区内…

构建安全的数据库环境:群晖NAS安装MySQL和phpMyAdmin详细步骤

文章目录 前言1. 安装MySQL2. 安装phpMyAdmin3. 修改User表4. 本地测试连接MySQL5. 安装cpolar内网穿透6. 配置MySQL公网访问地址7. 配置MySQL固定公网地址8. 配置phpMyAdmin公网地址9. 配置phpmyadmin固定公网地址 前言 本文将详细讲解如何在群晖NAS上安装MySQL及其数据库管理…

【c++丨STL】list的使用

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:C、STL 目录 前言 list简介 一、list的默认成员函数 构造函数(constructor) 析构函数 赋值重载 二、list的迭代器接口 迭代器的功能分类 三、list的容量…

如何编译 Cesium 源码

如何编译 Cesium 源码 Cesium 是一个开源的 JavaScript 库,用于构建 3D 地球和地图应用程序。它提供了一套强大的 API 和工具,使开发者能够创建丰富的地理空间应用。本文将指导您如何从 GitHub 下载 Cesium 源码,并在本地进行编译。 TilesB…

实验5:网络设备发现、管理和维护

实验5:网络设备发现、管理和维护 实验目的及要求: 通过实验,掌握Cisco 路由器和交换机的IOS配置管理。自动从NTP服务器获取时间信息。能够利用TFTP服务器实现路由器和交换机配置文件的备份和恢复。同时验证CDP协议和LLDP协议的网络参数。完…

全志T113双核异构处理器的使用基于Tina Linux5.0——RTOS编译开发说明

3、RTOS编译开发说明 3.1、RTOS SDK与TinaLinux开发环境 RTOS SDK相关代码已集成到Tina Linux开发环境,Tina Linux开发环境下的rtos子目录即为RTOS开发环境。 ├──brandy ├──bsp ├──build ├──buildroot ├──build.sh >build/top_build.sh ├──…

汽车资讯新篇章:Spring Boot技术启航

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04目录1. Alopex: A Computational Framework for Enabling On-Device Function Calls with LLMs摘要:研究背景&…

细说STM32单片机DMA中断收发RTC实时时间并改善其鲁棒性的方法

目录 一、DMA基础知识 1、DMA简介 (1)DMA控制器 (2)DMA流 (3)DMA请求 (4)仲裁器 (5)DMA传输属性 2、源地址和目标地址 3、DMA传输模式 4、传输数据量的大小 5、数据宽度 6、地址指针递增 7、DMA工作模式 8、DMA流的优先级别 9、FIFO或直接模式 10、单次传输或突…

review-消息中间件MQ

RabbitMQ RabbitMQ,作为当今流行的开源消息代理软件,以其卓越的可靠性、灵活性和易用性在微服务架构和分布式系统中扮演着至关重要的角色。它不仅能够确保消息在不同系统组件间的高效传递,还能通过其高级消息队列协议(AMQP&#x…

使用 .NET 创建新的 WPF 应用

本教程介绍如何使用 Visual Studio 创建新的 Windows Presentation Foundation (WPF) 应用。 使用 Visual Studio,可以向窗口添加控件以设计应用的 UI,并处理这些控件中的输入事件以与用户交互。 在本教程结束时,你有一…

【青牛科技】视频监控器应用

1、简介: 我司安防产品广泛应用在视频监控器上,产品具有性能优良,可 靠性高等特点。 2、图示: 实物图如下: 3、具体应用: 标题:视频监控器应用 简介:视频监控器工作原理是光&#x…

Android 项目依赖库无法找到的解决方案

目录 错误信息解析 解决方案 1. 检查依赖版本 2. 检查 Maven 仓库配置 3. 强制刷新 Gradle 缓存 4. 检查网络连接 5. 手动下载依赖 总结 相关推荐 最近,我在编译一个 Android 老项目时遇到了一个问题,错误信息显示无法找到 com.gyf.immersionba…

esp32c3开发板通过micropython的mqtt库连MQTT物联网消息服务器

MQTT介绍 MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息协议,旨在设备之间进行通信,尤其是在网络条件较差的情况下。MQTT v3.1.1 和 MQTT v5 是该协议的两个主要版本。 MQTT v3.1.1: 优点&#xff…

2、 家庭网络发展现状

上一篇我们讲了了解家庭网络历史(https://blog.csdn.net/xld_hung/article/details/143639618?spm1001.2014.3001.5502),感兴趣的同学可以看对应的文章,本章我们主要讲家庭网络发展现状。 关于家庭网络发展现状,我们会从国内大户型和小户型的网络说起&…