新聞中心
在bash中,與(反引號)都是用來作命令替換的,命令替換與變量替換差不多,都是用來重組命令行的,先完成引號里的命令行,然后將其結(jié)果替換出來,再重組成新的命令行,下面為大家分享一下反引號)和 $()具體使用方法。

公司主營業(yè)務(wù):網(wǎng)站建設(shè)、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出什邡免費做網(wǎng)站回饋大家。
反引號的使用方式
下面是一個簡單的實例:
[root@localhost ~]# echo "There are `ls | wc -l` files in this directory"
There are 10 files in this directory
ls |wc -l 用于列出和計算當(dāng)前目錄的文件數(shù),然后將它嵌入到 echo 命令中。
在 shell 腳本中,當(dāng)然可以執(zhí)行相同的操作,將ls | wc -l命令的結(jié)果分配給一個變量,稍后使用該變量。
[root@localhost ~]# file_count=`ls | wc -l`
[root@localhost ~]# echo "There are $file_count files in this directory"
There are 10 files in this directory
Bash 腳本:
(反引號)運算符和 $()的使用方式Bash 腳本:(反引號)運算符和 $()的使用方式
$()的使用方式
也可以通過使用$()代替“`反引號來獲得相同的結(jié)果,如下例所示:
[root@localhost ~]# echo "There are $(ls | wc -l) files in this directory"
There are 10 files in this directory
下面是一個例子,我需要對網(wǎng)絡(luò)連接中的某些問題進(jìn)行故障排除,因此我決定每分鐘顯示總連接數(shù)和等待連接數(shù)。
[root@localhost ~]# vim netinfo.sh
#!/bin/bash
while true
do
ss -an > netinfo.txt
connections_total=$(cat netinfo.txt | wc -l)
connections_waiting=$(grep WAIT netinfo.txt | wc -l)
printf "$(date +%R) - Total=%6d Waiting=%6d\n" $connections_total $connections_waiting
sleep 60
done
運行一下腳本:
[root@localhost ~]# ./netinfo.sh
17:13 - Total= 158 Waiting= 4
17:14 - Total= 162 Waiting= 0
17:15 - Total= 155 Waiting= 0
17:16 - Total= 155 Waiting= 0
17:17 - Total= 155 Waiting= 0
Bash 腳本:
(反引號)運算符和 $()的使用方式Bash 腳本:(反引號)運算符和 $()的使用方式
如何選擇使用哪種方式
這里更推薦使用$()方式。下面是原因: \1. 如果內(nèi)部命令也使用,運算符可能會變得混亂。
-
將需要轉(zhuǎn)義內(nèi)部的“`,如果將單引號作為命令的一部分或結(jié)果的一部分,閱讀和排除腳本故障可能會變得困難。
-
如果開始考慮在其他
運算符中嵌套運算符,則事情將不會按預(yù)期工作或根本不起作用。
\2. $()操作符更安全,更可預(yù)測。
在 $() 運算符中的內(nèi)容被視為 shell 腳本。從語法上講,這和把代碼保存在文本文件中是一樣的。
以下是“`和$()行為差異的一些示例:
[root@localhost ~]# echo '\$x'
\$x
[root@localhost ~]# echo `echo '\$x'`
$x
[root@localhost ~]# echo $(echo '\$x')
\$x
Bash 腳本:
(反引號)運算符和 $()的使用方式Bash 腳本:(反引號)運算符和 $()的使用方式
總結(jié)
在較為復(fù)雜的命令語句中,推薦使用$()方式。
網(wǎng)頁名稱:反引號)和$()具體使用方法
分享鏈接:http://www.dlmjj.cn/article/cdedjsd.html


咨詢
建站咨詢
