怎樣理解:source ~/.bash_profile

場景復現

$ source ~/.bash_profile

Analysis 分析

一句話概括

source ~/.bash_profile = “在 當前 終端會話里,立刻執行并加載 ~/.bash_profile 中的所有命令,讓其中定義的環境變量、函數、alias 等即時生效,而無需重新登錄或開新 Shell。”


拆解關鍵點

片段含義常見疑問
sourceBash/Zsh 的內建命令。讀取文件并在當前 Shell 進程執行,不會啟動子進程。
縮寫寫法是一個點(.)。
sh ~/.bash_profile 有什么區別?→ sh 會啟動一個子 Shell,變量無法回流到當前會話。
~Tilde 展開為當前用戶的 HOME 目錄(如 /Users/houshiqi)。為什么不用相對路徑 source .bash_profile?→ 只有在 恰好 位于 HOME 時才能成功,健壯性差。
.bash_profile傳統 login shell(Bash)啟動時讀取的腳本,用于設置 PATH、環境變量、啟動 agent 等。我在用 Zsh,還需要它嗎?→ 可以把共用配置抽到 ~/.shell_common,然后在 .bash_profile.zprofilesource 一次。

典型使用場景

  1. 新增 / 修改環境變量

    echo 'export GOPATH=$HOME/go' >> ~/.bash_profile
    source ~/.bash_profile   # 立即刷新,讓 GOPATH 生效
    
  2. 一次性加載舊 Bash 配置到 Zsh

    # ~/.zshrc
    [[ -f ~/.bash_profile ]] && source ~/.bash_profile   # 兼容又無報錯
    
  3. 調試 profile
    修改腳本 → source ... → 觀察變量 / alias 是否如預期。避免反復重啟 Terminal。


與其他文件的關系

文件何時執行推薦內容
~/.bash_profileBash 登錄 ShellPATH、環境變量、啟動腳本
~/.bashrcBash 交互 Shellprompt 設置、alias、函數
~/.zprofileZsh 登錄 Shell.bash_profile 相同角色
~/.zshrcZsh 交互 Shellprompt、alias、插件加載

?? 原則:把「只需一次」的操作放登錄腳本,把「每次交互」的操作放 *rc


exportalias 搭配示例

# ~/.bash_profile
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH="$ANDROID_HOME/tools/bin:$PATH"alias gs='git status -s'
alias ll='ls -lah'
  • 一條 source ~/.bash_profile 就可讓新 PATH、alias 立即生效。
  • 如果忘了 source,只能重新打開終端或 exec bash -l

總結口訣

source 文件路徑 → “把該文件的腳本內容直接塞進當前 Shell 執行”。

  • 一次性刷新環境,產生子進程。
  • ~ = HOME,保險又便攜。
  • 配合 Bash/Zsh 的登錄 / 交互腳本,各司其職更清晰。

掌握了它,你就能隨時“熱加載” Shell 配置,告別「修改完還要重啟終端」的低效開發體驗。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/87766.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/87766.shtml
英文地址,請注明出處:http://en.pswp.cn/web/87766.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

搜索問答技術概述:基于知識圖譜與MRC的創新應用

目錄 一、問答系統應用分析 二、搜索問答技術與系統 (一)需求和信息分析 問答需求類型 多樣的數據源 文本組織形態 (二)主要問答技術介紹 發展和成熟度分析 重點問答技術基礎:KBQA和DeepQA KBQA(…

TCP數據的發送和接收

本篇文章結合實驗對 TCP 數據傳輸中的重傳機制、滑動窗口以及擁塞控制做簡要的分析學習。 重傳 實驗環境 這里使用兩臺騰訊云服務器:vm-1(172.19.0.3)和vm-2(172.19.0.6)。 超時重傳 首先 vm-1 作為服務端啟動 nc…

python 保存二維數組到本地

Python中保存二維數組有多種方法,以下是常用的幾種方式:1. 使用NumPy(推薦)import numpy as np# 創建二維數組 arr np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])# 保存為.npy文件(NumPy專用格式) np.save…

LIN總線通訊中從節點波特率同步原理

波特率同步原理:從節點如何通過0x55校準時鐘? 一、同步場的核心作用:統一“時間標尺” 在LIN總線中,主節點與從節點各自擁有獨立的時鐘源(如MCU內部RC振蕩器),但由于制造工藝差異,…

【Unity筆記02】訂閱事件-自動開門

流程 當玩家移動到觸發區域的時候,門自動打開 事件系統 using System; using System.Collections; using System.Collections.Generic; using UnityEngine;public class EventSystem : MonoBehaviour {public static EventSystem Instance { get; private set; }…

控制臺字符動畫

旋轉的立方體 #include <cstdint> #include <cstdio> #include <iostream> #include <cstring> #include <cmath> #include <cstdlib> #include <ctime> #include <thread> using namespace std;float angleX .0f; float a…

基于 PyTorch 的貓狗圖像分類實戰

基于 PyTorch 的貓狗圖像分類實戰 項目背景簡介 深度學習框架 PyTorch 因其動態計算圖和靈活易用性&#xff0c;被廣泛應用于圖像分類等計算機視覺任務。在入門計算機視覺領域時&#xff0c;常常以手寫數字識別&#xff08;MNIST&#xff09;作為 “Hello World”&#xff0c…

SwiftUI 7(iOS 26 / iPadOS 26)中玻璃化標簽頁的全新玩法

&#x1f378; Liquid Glass 登場&#xff1a;界面設計煥然一新 WWDC25 可謂驚喜連連&#xff0c;其中最引人矚目的變革之一&#xff0c;莫過于蘋果推出的全新跨平臺設計語言 —— Liquid Glass&#xff08;液態玻璃&#xff09;。這一設計風格涵蓋了從按鈕到導航欄&#xff0…

PDF處理控件Spire.PDF教程:在Java中讀取PDF,提取文本、圖片和表格

在數據驅動的現代開發中&#xff0c;高效處理 PDF 文檔已成為 Java 開發者不可或缺的核心能力。無論是處理各類發票掃描件、業務分析報告&#xff0c;還是包含豐富圖表的技術文檔&#xff0c;掌握 Java 版的 PDF 解析技術都將大幅提升數據處理效率&#xff0c;充分釋放文檔中的…

跨平臺游戲引擎 Axmol-2.7.0 發布

Axmol 2.7.0 版本是一個以錯誤修復和功能改進為主的次要LTS長期支持版本 &#x1f64f;感謝所有貢獻者及財務贊助者&#xff1a;scorewarrior、peterkharitonov、duong、thienphuoc、bingsoo、asnagni、paulocoutinhox 重大變更 Android Studio 最低版本要求升級至 2025.1.1…

XML 筆記

<image src"hue.gif" width"100" height"auto" align"left"/> <br/> 換行 在 XML 中&#xff0c;<![CDATA[ 和 ]]> 用于定義一個 CDATA 節&#xff08;Character Data Section&#xff09;。CDATA 節是用于將一段…

Python實現優雅的目錄結構打印工具

Python實現優雅的目錄結構打印工具 在軟件開發、系統管理和日常工作中&#xff0c;我們經常需要查看和分析目錄結構。 工具功能概述 這個DirectoryPrinter類提供了以下功能&#xff1a; 遞歸打印目錄結構可配置是否顯示隱藏文件可設置最大遞歸深度自定義縮進和文件/文件夾符…

【Python】文件打開:with open具體解析

示例 # 使用 with 語句打開文件并讀取內容 with open(pi.txt, r) as file_object:contents file_object.read()print(contents) # 文件在代碼塊結束后自動關閉with 解析 with 是 Python 中的上下文管理器語法&#xff0c;用于確保某個操作完成后自動執行清理操作。它常用于文…

Acrel-1000系列分布式光伏監控系統在湖北荊門一馬光彩大市場屋頂光伏發電項目中應用

摘 要&#xff1a;分布式光伏發電能夠對日益嚴重的環境壓力起到有效緩解作用,在當前對環境保護需求越來越大情況下,發電行業在發展中不但要提升發電效率,同時也需要降低成本。分布式光伏發電主要是利用風能和太陽能等可再生清潔能源進行發電,對于空氣質量具有改善效果,和傳統發…

CentOS-6與CentOS-7的網絡配置IP設置方式對比 筆記250706

CentOS-6與CentOS-7的網絡配置IP設置方式對比 筆記250706 1?? 參考 1 CentOS-6 與 CentOS-7 的網絡配置IP設置方式對比 CentOS 6 和 CentOS 7 在網絡配置上存在顯著差異&#xff0c;主要體現在配置文件結構、管理工具、服務機制和命令集等方面。以下是兩者的核心對比&#x…

【網絡系列】HTTP 429 狀態碼

博客目錄 HTTP 429 狀態碼的定義與背景產生 429 錯誤的常見場景1. API 速率限制觸發2. 網絡爬蟲行為被檢測3. 分布式拒絕服務(DDoS)防護4. 用戶/IP 特定限流策略5. 應用程序邏輯錯誤 深入解讀 429 響應的關鍵頭部信息Retry-After 頭部X-RateLimit 系列頭部RateLimit 標準化頭部…

C++無鎖數據結構:CAS(Compare-and-Swap)

在高并發場景下&#xff0c;傳統鎖機制帶來的線程阻塞和上下文切換開銷成為性能瓶頸。無鎖數據結構通過原子操作實現線程安全&#xff0c;避免了鎖的使用&#xff0c;成為高性能系統的關鍵技術。本文將深入探討C中基于CAS&#xff08;Compare-and-Swap&#xff09;的無鎖數據結…

【數字圖像處理】

數字圖像處理 緒論1. 數字圖像處理基本概念2. 數字圖像處理系統的組成3. 數字圖像處理技術研究的內容4. 數字圖像處理技術的應用領域5. 圖像處理技術涉及的學科領域 圖像處理基礎1. 電磁波譜與可見光譜2. 人眼的亮度視覺特性3. 圖像的表示4. 空間分辨率和灰度級分辨率5. 像素間…

linux chrome瀏覽器打不開了

報錯信息 通過terminal執行google-chrome [12714:12714:0706/223620.723519:ERROR:chrome/browser/process_singleton_posix.cc:358] The profile appears to be in use by another Google Chrome process (54949) on another computer (192.168.0.17). Chrome has locked t…

Python:模塊

一、Python模塊基礎概念 1. 什么是Python模塊&#xff1f; 在 Python 中&#xff0c;模塊&#xff08;Module&#xff09; 是一個包含 Python 代碼的文件&#xff08;擴展名為 .py&#xff09;&#xff0c;用于組織代碼、實現功能復用和命名空間管理。模塊可以包含變量、函數…