您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“如何使用Bash腳本中括號(hào)和反引號(hào)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“如何使用Bash腳本中括號(hào)和反引號(hào)”吧!
在 Bash 腳本中,我們經(jīng)常需要引用變量或者命令的執(zhí)行結(jié)果來(lái)作為文件的名字或者日志的輸出,在腳本或者 Shell 中我們可以使用反引號(hào) 或者括號(hào) () 來(lái)獲取到變量的內(nèi)容
示例 1
獲取日期的輸出
echo `date` # output 2021年 01月 05日 星期二 15:21:23 CST
echo $(date) # output 2021年 01月 05日 星期二 15:21:32 CST
通過(guò)使用反引號(hào)或者括號(hào)我們可以將命令的輸出做為腳本中的內(nèi)容輸入,同樣可以使用命令的參數(shù)來(lái)格式化輸出
示例 2
獲取 年-月-日 格式的日期
echo `date +%F` # output 2021-01-05
echo $(date +%F) # output 2021-01-05
在 Bash 中反引號(hào)和括號(hào)代表命令輸入,所以在腳本中我們只能使用反引號(hào)和括號(hào)來(lái)獲取命令的執(zhí)行和輸出結(jié)果,而不能使用腳本中聲明的變量。而使用 $ 和 ${} 可以獲取腳本中聲明的變量而不能獲取命令的輸入
#!/usr/bin/bash variable=name # use `` to output variable echo `variable` # use $ to output variable echo $variable # use $() to output variable echo $(variable) # use ${} to output variable echo ${variable}
執(zhí)行的結(jié)果報(bào)錯(cuò)
? ./test
./test:行6: variable: 未找到命令
name
./test:行12: variable: 未找到命令
name
1).(點(diǎn))與source命令一樣,從文件中讀取并執(zhí)行命令,無(wú)論該文件是否都有可執(zhí)行權(quán)限都能夠正確的執(zhí)行。且是在當(dāng)前shell下執(zhí)行,而不是產(chǎn)生一個(gè)子shell來(lái)執(zhí)行(我們通常使用“./filename.sh”去執(zhí)行一個(gè)文件是在當(dāng)前shell下產(chǎn)生一個(gè)子shell去執(zhí)行的)
2): 該命令什么都不做,但執(zhí)行后會(huì)返回一個(gè)正確的退出代碼,即exit 0,類似于pass
3)() 將多個(gè)命令組合在一起執(zhí)行,相當(dāng)于一個(gè)命令組。
4){} 和()類似,也是將多個(gè)命令組合在一起。它們之間的區(qū)別是,()是在產(chǎn)生的子shell下執(zhí)行,而{}是在當(dāng)前的shell下執(zhí)行。
5)[] 與test命令一樣,用于比較值以及檢查文件類型
6)[[]]可以說(shuō)是[]的“增強(qiáng)版”,它能夠?qū)⒍鄠€(gè)test命令支持的測(cè)試組合起來(lái)
7)(())專門(mén)來(lái)做數(shù)值運(yùn)算,如果表達(dá)式求值為 0,則設(shè)置退出狀態(tài)為 1;如果求值為非 0 值,則設(shè)置為 0。
到此,相信大家對(duì)“如何使用Bash腳本中括號(hào)和反引號(hào)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。