成人免费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-16 08:22:19

Linux命令 Source

2021-05-31 11:30:43

Linuxsource命令

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工具人工智能

2023-05-18 22:51:08

2020-01-14 10:57:39

內存泄漏虛擬機

2019-08-21 09:56:43

2023-12-27 08:36:27

2022-02-28 08:17:24

重載函數JS前端

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應用

2023-03-01 09:49:23

2018-12-27 21:54:22

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品视频在线看 | 羞羞视频网站 | 国产成人高清成人av片在线看 | 久草欧美 | a级毛片毛片免费观看久潮喷 | 成人在线日韩 | 成人在线观看亚洲 | 粉嫩粉嫩芽的虎白女18在线视频 | 亚洲 精品 综合 精品 自拍 | 精品一区二区不卡 | 亚洲精品乱码 | 国产成人av一区二区三区 | 香蕉国产在线视频 | 日韩at| av在线电影网站 | 久久久久久免费看 | 国产精品一卡二卡三卡 | 久久婷婷av | 成人在线视频免费观看 | 成人免费毛片片v | 欧美在线观看一区 | 久久久久久国产精品久久 | 中文一区二区 | 九九在线精品视频 | 亚洲成人av| 午夜av电影院 | 国产精品欧美一区喷水 | 免费久草| 99久久免费观看 | 亚洲日韩中文字幕一区 | 久久成人高清视频 | 9999视频| 久久久久成人精品亚洲国产 | 欧美精品在线播放 | 亚洲国产精品视频一区 | 亚洲精品一 | 国产午夜精品久久久久 | 亚洲免费观看视频网站 | 日本精品一区二区三区视频 | 亚洲激情一区二区三区 | 亚洲精品大片 |