Bash変数置換変数の後に下線が続きます。

Bash変数置換変数の後に下線が続きます。

この変数はBUILDNUMBER値230に設定されます。230_コマンドを印刷したいのですが、echo $BUILDNUMBER_以下のように出力が空です。

# echo $BUILDNUMBER_

# echo $BUILDNUMBER
230

答え1

このコマンドはecho $BUILDNUMBER_設定されていない変数の値を出力します$BUILDNUMBER_(下線はJeff Schallerが明確に指摘したように、変数名に有効な文字です)。

変数名の周りに中かっこ(中括弧)を適用するか、最も厳しいprintfツールを使用してください。

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

PS:常に変数を引用してください。

答え2

ジョージ・ヴァシリウ(George Vasiliu)がそうしたように説明した$BUILDNUMBER_、代わりに変数を印刷するためです$BUILDNUMBER。あなたが望むものを得るための最良の方法は、${BUILDNUMBER}_ジョージが説明したように使用することです。追加オプションは次のとおりです。

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

関連情報