Linux 中的神奇命令:source
Linux 是一個強大且靈活的作業系統,它提供了許多內建的 shell 命令,讓我們可以輕鬆管理和控制系統的行為。其中一個很有用的指令是 source,它可以讓我們從檔案讀取並執行指令,而不需要建立新的進程或環境。 source 指令有什麼作用?它如何使用?它與 bash 指令有什麼不同?本文將為你詳細介紹 source 指令的奧秘,讓你駕馭 Linux 的超強能力。
關於source指令及其執行方式: 在Linux系統中,source是內建的Shell指令,它會讀取並執行目前Shell中檔案的內容。這些檔案通常包含一系列要交給TCL解釋器讀取和執行的命令。
如果提供了任何參數,它們將成為將由source執行的[檔案名稱]的位置參數。否則,位置參數保持不變。
$PATH中的條目用於查找包含[檔案名稱]的目錄,然而,如果檔案在$PATH中不存在,它將在當前目錄中搜尋檔案。 source指令沒有選項,參數只能是檔案名稱。
文法:
source [filename] [arguments]
其中:
[filename]:要由source指令執行的檔案的名稱或路徑。
[arguments]:當檔案執行時,您提供的任何參數將成為位置參數。
點(句點)字元可以取代source指令,產生相同的輸出:
. [filename] [arguments]
範例:
建立一個名為 linuxmi.txt 的文件,並將以下命令貼到其中。
echo “Hello Linux迷 www.linuxmi.com” pwd date echo $PATH
現在執行source指令,使用你剛剛建立的檔案的正確路徑。確保你使用了正確的檔案路徑。
source linuxmi.txt
以上的source指令讀取並執行了提供的檔案中的指令。
輸出如下:

重要提示: 小心! ”./”和”source”不完全相同。
“./script”將腳本作為可執行檔運行,啟動一個新的shell來運行它。 「source script」從目前shell環境中讀取並執行檔案中的命令。注意:”./script”不等於”. script”,但”. script”等同於”source script”。
如何使用source指令讀取設定檔:
#借助source命令,我們可以建立一個設定檔並在另一個檔案中讀取它。
基本上,我們需要建立兩個檔案:
sample-config.sh → 包含一些隨機配置
config-reader.sh → 讀取設定檔並執行一些操作。
在同一個目錄下建立這些檔案。
建立 sample-config.sh 並新增以下命令:
profile_page="https://www.linuxmi.com/" article_list="https://linux.linuxmi.com/"
建立config-reader.sh並新增以下命令:
#!/usr/bin/env bash source sample-config.sh echo "*****************************" echo "Profile Page : $profile_page" echo " List of Articles : $article_list" echo "*****************************"

config-reader.sh檔案包含一個使用設定檔的source指令。它在後續命令中使用了config-reader.sh檔案中的file變數。
輸出:
執行以下命令以讀取設定並在目前檔案中使用它們 source config-reader.sh
如下圖:

刷新目前的Shell環境:
有時我們希望為經常使用的命令設定一個別名,以便在任何Shell會話中更容易使用。
我們可以透過建立一個如下所示的Shell別名指令來開始:
alias ll=’ls -ltrh’
此指令以長格式列出目前目錄中的所有檔案和資料夾,並依時間戳升序排列,以易讀的格式顯示。

實際上,目前的命令存在一個問題,它在當前的Shell會話中運行得很好,但我們無法在當前Shell會話之外訪問它。
但是,我們有一個解決方案,可以使其成為一個永久命令,以便在任何Shell會話中都可以存取它。
我們只需要將這個別名加入到.bashrc(或.zsh對於macOS)檔案中,該檔案位於主目錄中。
sudo vim ~/.bashrc
在”#some more ls aliases”部分下面,添加以下內容:
alias ll = 'ls -ltrh'
我已经添加了类似的内容如下:
alias ll = 'ls -ltrh' alias g = 'git' alias k = 'kubectl'

添加别名后,我们需要刷新当前的Shell环境,以便测试它是否按预期工作。
source ~/.bashrc
通过本文,你应该对 source 命令有了更深入的了解,知道了它如何从文件中读取并执行命令,如何更新 bash shell 环境,以及它与 bash 命令的区别。source 命令是一个非常方便的内置 shell 命令,它可以让我们在同一个 shell 环境中修改变量或执行脚本,而不需要创建新的进程或环境。这样可以节省资源,提高效率,也可以避免一些潜在的错误或冲突。source 命令是 Linux 中的神奇命令之一,值得我们好好学习和使用。
以上是Linux 中的神奇命令:source的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Linux和Windows在用戶賬戶管理上的主要區別在於權限模型和管理工具。 Linux使用基於Unix的權限模型和命令行工具(如useradd、usermod、userdel),而Windows採用自己的安全模型和圖形用戶界面(GUI)管理工具。

Linux'scommandlinecanbemoresecurethanWindowsifmanagedcorrectly,butrequiresmoreuserknowledge.1)Linux'sopen-sourcenatureallowsforquicksecurityupdates.2)Misconfigurationcanleadtovulnerabilities.Windows'commandlineismorecontrolledbutlesscustomizable,with

本指南說明瞭如何在Linux的啟動下自動安裝USB驅動器,從而節省了時間和精力。 步驟1:確定您的USB驅動器 使用LSBLK命令列出所有塊設備。 您的USB驅動器可能會標記為 /dev /sdb1, /dev /sdc1等

跨平台應用程序已徹底改變了軟件開發,從而在Linux,Windows和MacOS等操作系統上實現了無縫功能。 這消除了根據您的設備切換應用程序的需求,提供一致的體驗

人工智能(AI)正在迅速改變許多部門,從醫療保健和金融到藝術和音樂等創意領域。 Linux具有開源性,適應性和性能功能,已成為首要的Platfo

尋找沒有圖形用戶界面(GUI)的快速,最小和高效的Linux分佈? 輕巧,無GUI-Linux發行版非常適合較舊的硬件或服務器和嵌入式系統(例如服務器和嵌入式系統)。他們消耗較少的res

Wine 10.0穩定版發布:在Linux上運行Windows應用更上一層樓 Wine,這款開源免費的應用程序,讓Linux用戶能夠在Unix/Linux類操作系統上運行Windows軟件和遊戲,迎來了10.0穩定版的發布!此版本已提供源代碼和二進制包下載,支持Linux、Windows和Mac等多種發行版。 這一版本凝聚了一年的辛勤工作和超過8600項改進,帶來了諸多令人興奮的提升。主要亮點包括: 增強對藍牙設備的支持。 提升對HID輸入設備的支持。 優化了32位和64位應用程序的運行性能。

該教程通過在RHEL 8.x或9.x上安裝SQL Server 2022,通過SQLCMD命令行工具,數據庫創建和基本查詢連接。 先決條件 開始之前,請確保: 支持的RHEL版本(RHEL 8或9)。 Sudo


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

記事本++7.3.1
好用且免費的程式碼編輯器

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Dreamweaver CS6
視覺化網頁開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。