溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在shell中使用source命令

發(fā)布時間:2021-04-01 16:10:28 來源:億速云 閱讀:828 作者:Leah 欄目:開發(fā)技術

這篇文章將為大家詳細講解有關如何在shell中使用source命令,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1. sh filepath會重新建立一個子shell,在子shell中執(zhí)行腳本里面的語句,該子shell繼承父shell的環(huán)境變量,但子shell是新建的,其改變的變量不會被帶回父shell,除非使用export。

2. source filename其實只是簡單地讀取腳本里面的語句依次在當前shell里面執(zhí)行,沒有建立新的子shell。那么腳本里面所有新建、改變變量的語句都會保存在當前shell里面。

因為不會建立新的子shell,變量的值都可以直接取到,我們看一個例子:

如何在shell中使用source命令 

我們可以把下面的這些配置當成shell腳本中的賦值語句,然后使用source獲取變量的值,因為這個配置不符合任何ini之類格式,所以不好用程序獲?。?/p>

如何在shell中使用source命令 

這里用到了&&,它的作用是左邊的命令執(zhí)行成功,才執(zhí)行右邊的命令;||就相反,左邊的命令執(zhí)行失敗,才執(zhí)行右邊的命令。

2>/dev/nul下面看下內容詳情

標準輸入0    從鍵盤獲得輸入 /proc/self/fd/0

標準輸出1    輸出到屏幕(即控制臺) /proc/self/fd/1

錯誤輸出2    輸出到屏幕(即控制臺) /proc/self/fd/2

/dev/null代表linux的空設備文件,所有往這個文件里面寫入的內容都會丟失,俗稱“黑洞”

1. 2>/dev/null意思就是把錯誤輸出到“黑洞”

2. >/dev/null 2>&1默認情況是1,也就是等同于1>/dev/null 2>&1。意思就是把標準輸出重定向到“黑洞”,還把錯誤輸出2重定向到標準輸出1,也就是標準輸出和錯誤輸出都進了“黑洞”

3. 2>&1 >/dev/null意思就是把錯誤輸出2重定向到標準出書1,也就是屏幕,標準輸出進了“黑洞”,也就是標準輸出進了黑洞,錯誤輸出打印到屏幕

關于這里”&”的作用,我們可以這么理解2>/dev/null重定向到文件,那么2>&1,這里如果去掉了&就是把錯誤輸出給了文件1了,用了&是表明1是標準輸出。

關于如何在shell中使用source命令就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI