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

Linux 中的 source 命令是什么?它又是如何工作的呢?

系統 Linux
為了方便理解 source 命令,下面我們是對變量做一個簡短的解釋。

source 命令可以在當前 shell 中執行文件中的命令,也可以用于刷新環境變量。不過老實說,它的主要用途就是用于刷新環境變量。其語法格式如下所示:

source filename [options]

也可以用一個點 . 來代替 source 命令:

. filename [options]

source 命令是如何工作的

這個命令的語法很簡單,但是要理解它,需要稍微了解一些 Linux 概念。如果你是 Linux 新手,可能對于變量是什么只有一個比較模糊的概念。不過沒關系,我們都是從這個階段過來的。

為了方便理解 source 命令,下面我們是對變量做一個簡短的解釋。

關于變量

你可以打開一個 bash 終端來創建一個新的變量,變量可以被認為是一個占位符,可以用來指向一條信息(字母,數字或者符號等)。

比如,我們創建一個名為 name 的變量,將其賦值為 Christopher。

在 bash 中,命名變量的格式為:

variable_name=your_variable

注意,不要在等號 = 和文本之間添加空格。

$ name=Christopher
$ echo $name
Christopher

那么,如果我只鍵入變量名會怎樣呢?看下面的例子:

$ echo name
name

如果忘記帶美元符號 $,比如上面的例子,bash 就會直接返回你輸入的文本。

變量的調用可以在任何調用的位置,所以我們也可以將其放在如下代碼中:

$ echo "Hello, $name. $name is a great name. It's good to meet you."
Hello, Christopher. Christopher is a great name. It's good to meet you.

變量可以幫助我們做很多事情,上述對變量的簡單介紹應該可以讓大家了解它是如何工作的了。

環境變量與 shell 變量

理解 source 命令的另外一個關鍵問題,就是關于變量的持久性,這是用來思考 shell 變量和環境變量之間區別的一種簡單方法。

簡單地說,如果在終端 shell 中創建一個變量,那么一旦退出該 shell,它就會丟失。

相比之下,環境變量會持久性的保存在操作系統中,而且通常都是使用大寫字母。

其中一個例子,就是用戶名,操作系統中其變量名稱為 $USER。如下所示:

$ echo $USER
christopher

上面我們是介紹了一些關于環境變量和 shell 變量的區別,那么這跟 source 命令有啥關系呢?

source 和 bash

如果你使用過 Linux,可能會遇到過這兩個命令,并且認為他們的功能是一樣的。畢竟 source 和 bash 都可以用來執行腳本。

source 命令會在當前 shell 中執行,而 bash 會創建一個新的 shell 會話。這并不明顯,因為沒有顯示新窗口。

下面我們創建一個名為 echo.sh 的腳本,內容如下:

#! bin/bash
echo $USER
echo $name

然后在終端中給 name 賦值:

$ name=chris

接下來,我們分別使用 bash 和 source 命令來執行一下這個腳本,看如下結果:

$ bash echo.sh 
christopher
$ source echo.sh 
christopher
chris
$ . echo.sh 
christopher
chris

正如上述結果,當使用 bash 命令執行腳本時,shell 變量 $name 并沒有被識別出來。

使用 source 命令刷新環境變量

source 還可以用于更新當前 shell 中的環境變量,一個常見的例子是在當前 shell 中更新 bash 配置文件。

用戶可能想要修改他們的 bash 配置文件,比如創建一個別名。通常,保存配置后,需要打開一個新的終端窗口才能看到更改生效。

$ source .bashrc

運行此操作將刷新當前 shell 中的設置,而不會強制您打開新的終端。

責任編輯:龐桂玉 來源: TIAP
相關推薦

2021-05-31 11:30:43

Linuxsource命令

2021-05-16 08:22:19

Linux命令 Source

2024-07-11 16:32:13

代碼Java

2022-11-14 15:07:09

Linux管道

2022-11-04 08:59:56

2025-02-17 09:03:26

DeepSeekAI工具人工智能

2020-01-14 10:57:39

內存泄漏虛擬機

2022-02-28 08:17:24

重載函數JS前端

2023-05-18 22:51:08

2019-08-21 09:56:43

2023-12-27 08:36:27

2022-11-07 12:45:30

ripgrep命令Linux

2024-11-15 16:15:59

2019-09-18 09:40:48

數據湖數據分析數據

2023-03-02 08:48:43

Linuxsubshell

2020-02-05 15:05:11

區塊鏈時間戳分布式

2024-12-26 17:04:47

2019-09-20 09:37:38

限流Java應用

2018-12-27 21:54:22

2023-03-01 09:49:23

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人短视频在线观看 | 天天弄天天操 | 午夜视频一区二区三区 | 91免费看片| 日韩黄| 波多野结衣精品 | 欧美精品电影一区 | 欧美日韩淫片 | 欧洲精品在线观看 | 欧美日韩在线精品 | 久久久久国产精品一区 | 久精品久久 | 日韩视频一区二区 | 久久久久免费精品国产小说色大师 | 国产精品一区在线观看 | 免费观看黄色一级片 | 成人高清视频在线观看 | 欧美精品黄 | 成人午夜精品 | 国产精品久久久久一区二区三区 | www.久久久久久久久 | 青青伊人久久 | 日韩超碰在线 | 亚洲精品视频在线播放 | 亚洲一区二区不卡在线观看 | 美人の美乳で授乳プレイ | 亚洲国产成人av | 国产中文字幕av | 欧美日韩成人影院 | 性一交一乱一透一a级 | 欧美亚洲网站 | 免费国产一区 | 色播99| 亚洲日韩欧美一区二区在线 | 亚洲毛片在线 | 亚洲国产成人av | 一级片av | 欧美精品久久久 | 91九色在线观看 | 337p日本欧洲亚洲大胆鲁鲁 | 亚洲欧美中文日韩在线v日本 |