Bash

Bash 變數替換變數後跟下劃線

  • November 8, 2019

該變數BUILDNUMBER設置為值 230。我希望230_為該命令列印,echo $BUILDNUMBER_但輸出為空,如下所示。

# echo $BUILDNUMBER_

# echo $BUILDNUMBER
230

該命令echo $BUILDNUMBER_將列印$BUILDNUMBER_未設置的變數的值(下劃線是 Jeff Schaller 明確指出的變數名稱的有效字元)

您只需要在變數名周圍應用大括號(大括號)或使用最嚴格的printf工具:

echo "${BUILDNUMBER}_"
printf '%s_\n' "$BUILDNUMBER"

PS:總是引用你的變數。

正如 George Vassiliou 已經解釋的那樣,那是因為您列印的是變數$BUILDNUMBER_而不是$BUILDNUMBER. 得到你想要的東西的最好方法是${BUILDNUMBER}_按照喬治的解釋來使用。這裡有更多選項:

$ echo "$BUILDNUMBER"_
230_
$ echo $BUILDNUMBER"_"
230_
$ printf '%s_\n' "$BUILDNUMBER"
230_

引用自:https://unix.stackexchange.com/questions/358272