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

首頁 > 開發 > Linux Shell > 正文

shell中的source命令的巧妙用法

2020-07-27 18:50:05
字體:
來源:轉載
供稿:網友

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

其次,source filepath或者. filepath,sh filepath或者./filepath區別:

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

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

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

這里寫圖片描述 

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

這里寫圖片描述 

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

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命令的巧妙用法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 云浮市| 师宗县| 监利县| 镇远县| 乐清市| 科技| 东海县| 历史| 崇礼县| 钟祥市| 静海县| 北票市| 平果县| 三原县| 西安市| 萨迦县| 修文县| 丰原市| 房产| 义乌市| 阿克苏市| 甘德县| 澄江县| 循化| 宝坻区| 天全县| 文水县| 汝城县| 乌鲁木齐市| 达孜县| 尼勒克县| 衡水市| 蓝田县| 保山市| 临桂县| 苏尼特右旗| 乌兰县| 昌宁县| 瑞丽市| 大丰市| 兴山县|