首頁  >  文章  >  系統教程  >  Linux 中的神奇命令:source

Linux 中的神奇命令:source

PHPz
PHPz轉載
2024-02-10 15:06:021321瀏覽

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指令讀取並執行了提供的檔案中的指令。

輸出如下:

Linux 中的神奇命令: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 "*****************************"
Linux 中的神奇命令:source

config-reader.sh檔案包含一個使用設定檔的source指令。它在後續命令中使用了config-reader.sh檔案中的file變數。

輸出:

執行以下命令以讀取設定並在目前檔案中使用它們 source config-reader.sh

如下圖:

Linux 中的神奇命令:source

刷新目前的Shell環境:

有時我們希望為經常使用的命令設定一個別名,以便在任何Shell會話中更容易使用。

我們可以透過建立一個如下所示的Shell別名指令來開始:

alias ll=’ls -ltrh’

此指令以長格式列出目前目錄中的所有檔案和資料夾,並依時間戳升序排列,以易讀的格式顯示。

Linux 中的神奇命令:source

實際上,目前的命令存在一個問題,它在當前的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'
Linux 中的神奇命令:source

添加别名后,我们需要刷新当前的Shell环境,以便测试它是否按预期工作。

source ~/.bashrc

通过本文,你应该对 source 命令有了更深入的了解,知道了它如何从文件中读取并执行命令,如何更新 bash shell 环境,以及它与 bash 命令的区别。source 命令是一个非常方便的内置 shell 命令,它可以让我们在同一个 shell 环境中修改变量或执行脚本,而不需要创建新的进程或环境。这样可以节省资源,提高效率,也可以避免一些潜在的错误或冲突。source 命令是 Linux 中的神奇命令之一,值得我们好好学习和使用。

以上是Linux 中的神奇命令:source的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lxlinux.net。如有侵權,請聯絡admin@php.cn刪除