在bash
指令碼中,我們經常需要引用變數或者命令的執行結果來作為檔案的名字或者日誌的輸出,在指令碼或者shell
中我們可以使用反引號 ` 或者括號 () 來獲取到變數的內容
示例 1
獲取日期的輸出
echo
`date
`# output
2023年 01月 05日 星期二 15:21:23 cst
echo
$(date
)# output
2023年 01月 05日 星期二 15:21:32 cst
通過使用反引號或者括號我們可以將命令的輸出做為指令碼中的內容輸入,同樣可以使用命令的引數來格式化輸出
示例 2
獲取年-月-日
格式的日期
echo
`date +%f`
# output
2021-01-05
echo
$(date +%f)
# output
2021-01-05
在bash
中反引號和括號代表命令輸入,所以在指令碼中我們只能使用反引號和括號來獲取命令的執行和輸出結果,而不能使用指令碼中宣告的變數。而使用$
和${}
可以獲取指令碼中宣告的變數而不能獲取命令的輸入
#!/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
$
執行的結果報錯
▶ ./test
./test:行6: variable: 未找到命令
name
./test:行12: variable: 未找到命令
name
bash中 命令 和反引號的區別
bash 指令碼命令的程式設計過程中,經常用到反引號 也經常用到 命令 一般我們的常見用法如下 反引號內容替換 bash bin dirname 0 bin cd bin pwd 會將反引號裡面的內容解釋為命令列,開啟子shell,然後去執行命令,然後將輸出結果替換反引號以及其中的命令。命令 可以分...
shell指令碼中的反引號,單引號,雙引號與反斜槓
反引號位 經常被忽略,而且容易與單引號弄混。它位於鍵盤的tab鍵的上方 1鍵的左方。單引號 位於enter鍵的左方。在linux中反引號起著命令替換的作用。命令替換是指shell能夠將乙個命令的標準輸出插在乙個命令列中任何位置,將反引號中的字串做為命令來執行,我們在用shell程式設計時經常用的到,...
Linux SHELL指令碼中的反引號
linux shell指令碼中的反引號 用反引號,將shell命令引起來,可以將命令的輸出值賦給變數 比如這裡,date命令輸出具體的時間 root localhost date mon apr 27 16 07 01 cst 2020那麼我用反引號將命令完整的引起來,賦值給變數today,那我們可...