国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

shell中的source命令的巧妙用法

2019-10-26 18:55:58
字體:
供稿:網(wǎng)友

首先,通常用于重新執(zhí)行剛修改的初始化文件,使之立即生效,而不必注銷并重新登錄。例如,當(dāng)我們修改了/etc/profile文件,并想讓它立刻生效,而不用重新登錄,就可以使用source命令,如source /etc/profile。 

其次,source filepath或者. filepath,sh filepath或者./filepath區(qū)別:

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

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

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

這里寫圖片描述 

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

這里寫圖片描述 

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

2>/dev/nul下面看下內(nèi)容詳情

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

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

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

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

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

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

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

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

總結(jié)

以上所述是小編給大家介紹的shell中的source命令的巧妙用法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林站長站網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿拉善右旗| 宁国市| 宁明县| 贵港市| 达拉特旗| 中阳县| 新和县| 那曲县| 毕节市| 绩溪县| 天等县| 阆中市| 永春县| 云梦县| 三明市| 涿州市| 张掖市| 炉霍县| 太湖县| 芜湖县| 华安县| 石景山区| 英德市| 杨浦区| 榕江县| 南皮县| 项城市| 白朗县| 麻江县| 建阳市| 彩票| 涞源县| 西盟| 乃东县| 鹤壁市| 赤峰市| 辽宁省| 临猗县| 苏尼特左旗| 乐都县| 新巴尔虎左旗|