成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用 Linux source 從文件中讀取和執行命令

系統 Linux
要使用 source 命令,您首先需要創建一個示

source 是一個方便的內置 shell 命令,它接受參數、解析腳本中的命令并在 shell 環境中執行它們。該文件的內容由 source 讀取,然后傳遞給工具命令語言 (TCL) 解釋器,該解釋器執行命令。

現在讓我們學習如何在 Linux 上使用 source 執行命令和使用 shell 環境,并簡要說明它與 bash 命令的區別。

使用 source 執行文件中的命令

要使用 source 命令,您首先需要創建一個示例文件并使用一些 shell 命令填充它。首先使用 touch 命令創建一個新文件。在您選擇的文本編輯器中打開文件并編寫一些基本的 shell 命令。

touch linuxmi.txt
vim linuxmi.txt

圖片

# 在文本文件中寫入命令:
echo "Hello!Linux迷 linuxmi.com"
pwd
ls

# 使用Source語法或點語法
. linuxmi.txt
source linuxmi.txt

寫出文本文件并繼續將其作為參數傳遞給 source 命令。系統將執行文件中的命令并返回輸出。

現在您已經了解了如何使用 source 的基礎知識,讓我們嘗試更改 Bash shell 環境。但是,在繼續之前,您必須對Linux 中的環境變量有基本的了解。

使用 source 命令更新 Bash Shell 環境

在 Linux 上,環境變量是繼承但不可變的。如果您執行修改環境變量 $TEST 的 Bash shell 腳本,該腳本將生成一個新的分叉 shell 進程,并且 $TEST 的修改將在其中而不是原始 Bash 環境中進行。

子進程將無法修改父進程的環境。它只能修改自己的環境。讓我們用一個實際的例子來理解這一點:

export TEST="deb"
vim linuxmi

圖片

# 在文件中鍵入這些命令
export TEST="bed"
echo $TEST

# 寫文件,使其可執行,然后執行它
chmod +x linuxmi
./linuxmi # 這將返回 "bed"
echo $TEST # 這將返回 "deb"

圖片

這就是 source 命令發揮作用的地方。使用 source 命令,您可以在相同的 shell 環境中執行腳本,否則會被分叉。因此,如果您獲取修改環境變量的腳本,它將對 Bash shell 環境進行更改。

要對其進行測試,請將上面代碼框中的命令寫入一個新文件并使用 source 命令而不是使其可執行。

# 創建一個新文件并編輯它
vim linux
.linux
echo $TEST # 運行后返回 "bed"

圖片

如您所見,使用 source 命令,您可以更新父進程的環境變量。這是 source 命令的主要用例,即修改父環境。

圖片

這就是使用 source 命令更新 Bash shell 環境所需的所有步驟。

Linux bash 和 source 命令之間的區別

Linux bash 和 source 命令的區別在于,當你用 bash 命令執行腳本時,它告訴 Linux 內核創建一個新的 Bash 進程來讀取和執行腳本,將輸出復制到原來的 shell 進程中,并顯示出來.

但是 source 命令是一個內置的 shell,它讀取和評估當前 shell 進程中的文件。因此,腳本所做的所有更改都將保留在 Bash shell 中。

排除 source 命令錯誤

在某些 Linux 系統中,您可能會在嘗試使用 source 命令時遇到錯誤“找不到 source”。您可以通過兩種方式修復此錯誤:

1. 換 shell

某些 shell 不支持 source 命令。在這種情況下,您需要使用 chsh -s ($which shell_name)命令更改您的 shell 環境。

在更改 shell 后啟動一個新的終端,并嘗試使用 source 命令。如果新的 shell 支持 source 命令,那么它應該可以完美地工作。

2. 使用點/句點語法

一些 shell 環境不支持“ source ”語法,而是支持“ . ”語法。“source”語法是 Bash 中點的同義詞。但這在 POSIX shell 中不起作用,因此為了獲得最大的兼容性,請使用句點語法。

你應該知道的基本 Linux 命令

Linux shell 命令是使用終端與系統交互的好方法。它們是使用 *NIX 系統的本質。

雖然您不需要了解所有命令,但熟悉一些有用的命令肯定會在您深入 Linux 世界時取得豐碩成果。

責任編輯:趙寧寧 來源: Linux迷
相關推薦

2021-05-16 08:22:19

Linux命令 Source

2009-08-03 12:09:42

linux at命令linux at命令詳batch

2021-05-31 11:30:43

Linuxsource命令

2019-08-30 07:24:16

2020-09-21 05:53:28

Linux命令&

2017-03-10 10:37:16

Linux命令腳本

2009-12-29 14:36:29

Ubuntu cron

2022-11-18 08:55:33

2018-01-18 10:57:48

Linux服務器命令

2023-04-28 10:31:54

Linux命令圖像

2011-07-07 17:30:25

iPhone Xcode

2017-12-11 09:34:40

Linux啟動或重啟命令與腳本

2021-08-02 13:38:21

Linuxalias命令

2020-12-07 06:42:09

LinuxIP命令

2024-05-31 12:54:37

.NET CoreLinux語言

2023-06-05 18:26:39

Linux操作系統

2019-04-25 09:52:38

SSHLinux服務器

2020-11-06 07:42:01

Linux命令腳本

2015-12-14 14:26:56

Linux命令pv

2022-11-25 09:16:43

Linux命令
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 九九热最新地址 | 男人av的天堂 | 亚洲一二三区在线观看 | 91视频导航 | 国产精品视频免费看 | 一级在线毛片 | 久久精品久久久久久 | 99riav3国产精品视频 | 精产国产伦理一二三区 | 狠狠天天| 亚洲精品视频一区二区三区 | 久色视频在线 | 黄在线| 中文字幕一区二区三区四区 | h视频免费观看 | 玖玖玖在线观看 | 国产精品99久久久久久久vr | 久久精品黄色 | 欧美一区二区三区在线观看 | 免费久久99精品国产婷婷六月 | 亚洲视频一区在线播放 | 日本激情视频在线播放 | 亚洲社区在线 | 亚洲欧美在线一区 | 国产一区二区三区色淫影院 | 中文在线一区二区 | 伊人精品在线视频 | 日韩欧美国产不卡 | 欧美日韩一区二区三区四区 | 久久久精品天堂 | 99re99| av在线播放一区二区 | 国产精品一区二区久久久久 | 婷婷亚洲综合 | 久久久涩| www.4567| 天天操夜夜拍 | av中文在线观看 | 国产午夜精品久久久久免费视高清 | 色婷婷久久久久swag精品 | 欧洲妇女成人淫片aaa视频 |