在Shell腳本中,反引號(`)用于執行命令替換
例如,假設你想要在Shell腳本中獲取當前目錄的文件數量,并將其存儲在一個變量中。你可以使用以下腳本:
#!/bin/bash
# 使用反引號執行命令替換,將當前目錄的文件數量賦值給變量file_count
file_count=`ls -1 | wc -l`
# 輸出文件數量
echo "There are $file_count files in the current directory."
在這個例子中,我們使用了兩個命令:ls -1
用于列出當前目錄的所有文件(每行一個),wc -l
用于計算輸入的行數。反引號將這兩個命令組合在一起,使得file_count
變量包含了當前目錄的文件數量。
需要注意的是,反引號在現代Shell腳本中已經逐漸被$(command)
語法所取代,因為后者更易讀,且可以嵌套使用。上面的例子可以用$(command)
語法重寫為:
#!/bin/bash
# 使用$(command)語法執行命令替換,將當前目錄的文件數量賦值給變量file_count
file_count=$(ls -1 | wc -l)
# 輸出文件數量
echo "There are $file_count files in the current directory."
這個版本的腳本功能與使用反引號的版本相同,但使用了更現代的語法。