濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > shell中的source命令的巧妙用法

shell中的source命令的巧妙用法

熱門(mén)標(biāo)簽:貴陽(yáng)400電話(huà)到哪里去辦理 天津智能外呼系統(tǒng)排名 宿松高德地圖標(biāo)注 4層電梯外呼控制系統(tǒng)設(shè)計(jì) 400電話(huà)申請(qǐng)找 電銷(xiāo)機(jī)器人加盟多少錢(qián) 申請(qǐng)400電話(huà)有什么用 網(wǎng)絡(luò)電話(huà)外呼系統(tǒng)撥號(hào)軟件 汨羅代理外呼系統(tǒng)

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

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

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

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

因?yàn)椴粫?huì)建立新的子shell,變量的值都可以直接取到,我們看一個(gè)例子:

 

我們可以把下面的這些配置當(dāng)成shell腳本中的賦值語(yǔ)句,然后使用source獲取變量的值,因?yàn)檫@個(gè)配置不符合任何ini之類(lèi)格式,所以不好用程序獲?。?/p>

 

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

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

標(biāo)準(zhǔn)輸入0    從鍵盤(pán)獲得輸入 /proc/self/fd/0

標(biāo)準(zhǔn)輸出1    輸出到屏幕(即控制臺(tái)) /proc/self/fd/1

錯(cuò)誤輸出2    輸出到屏幕(即控制臺(tái)) /proc/self/fd/2

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

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

2. >/dev/null 2>1默認(rèn)情況是1,也就是等同于1>/dev/null 2>1。意思就是把標(biāo)準(zhǔn)輸出重定向到“黑洞”,還把錯(cuò)誤輸出2重定向到標(biāo)準(zhǔn)輸出1,也就是標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出都進(jìn)了“黑洞”

3. 2>1 >/dev/null意思就是把錯(cuò)誤輸出2重定向到標(biāo)準(zhǔn)出書(shū)1,也就是屏幕,標(biāo)準(zhǔn)輸出進(jìn)了“黑洞”,也就是標(biāo)準(zhǔn)輸出進(jìn)了黑洞,錯(cuò)誤輸出打印到屏幕

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

總結(jié)

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

您可能感興趣的文章:
  • 詳解shell中source、sh、bash、./執(zhí)行腳本的區(qū)別

標(biāo)簽:廣東 烏蘭察布 連云港 昌都 臨沂 撫州 海北 贛州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《shell中的source命令的巧妙用法》,本文關(guān)鍵詞  shell,中的,source,命令,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《shell中的source命令的巧妙用法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于shell中的source命令的巧妙用法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    伊吾县| 潢川县| 通海县| 宜良县| 柳江县| 汉川市| 顺义区| 安平县| 年辖:市辖区| 临高县| 顺平县| 阿克苏市| 通城县| 和龙市| 阿拉善左旗| 万年县| 河间市| 东乌珠穆沁旗| 保靖县| 嵊泗县| 肥乡县| 榆中县| 天祝| 辉县市| 油尖旺区| 新绛县| 古交市| 龙门县| 乌苏市| 湘西| 宿迁市| 融水| 绿春县| 上栗县| 锦州市| 拜城县| 封开县| 固安县| 铜山县| 永定县| 兴文县|