在 CentOS(以及大多數 Unix-like 系統)中,反引號()通常用于命令替換。這意味著你可以在一個命令行中使用反引號來執行一個命令,并將其輸出作為另一個命令的參數。這種方式在現代的 shell 腳本中逐漸被
$()替代,因為
$()` 更易讀且可以嵌套使用。
基本語法如下:
`command`
這里的 command
是你想要執行的命令,其輸出會被替換到反引號所在的位置。
假設你想在一個文件名中使用當前日期,可以使用反引號:
touch "backup-$(date +%Y%m%d).txt"
在這個例子中,date +%Y%m%d
會輸出當前的日期(格式如 20231005
),然后這個輸出會被用來創建一個文件名。
你可以使用反引號將命令的輸出賦值給一個變量:
current_date=`date +%Y-%m-%d`
echo "Today's date is: $current_date"
在這個例子中,date +%Y-%m-%d
的輸出會被賦值給變量 current_date
,然后打印出來。
$()
語法。$()
進行命令替換,因為它更直觀且支持嵌套。$()
替代反引號同樣的命令替換,使用 $()
的寫法如下:
touch "backup-$(date +%Y%m%d).txt"
current_date=$(date +%Y-%m-%d)
echo "Today's date is: $current_date"
使用 $()
的好處是它更易讀,并且可以很方便地進行嵌套:
echo "The current directory is: $(pwd)/$(ls -d */)"
總之,雖然反引號在 CentOS 和其他 Unix-like 系統中仍然有效,但推薦使用 $()
進行命令替換,以提高腳本的可讀性和可維護性。