変数の値は 230 に設定されています。コマンドに対して印刷されることをBUILDNUMBER
期待していますが、出力は以下に示すように空です。230_
echo $BUILDNUMBER_
# echo $BUILDNUMBER_
# echo $BUILDNUMBER
230
答え1
このコマンドは、設定されていないecho $BUILDNUMBER_
変数の値を出力します(Jeff Schaller によって明示的に示されているように、アンダースコアは変数名に有効な文字です)$BUILDNUMBER_
変数名の周りに中括弧 (波括弧) を適用するか、最も厳格なprintf
ツールを使用するだけです。
echo "${BUILDNUMBER}_"
printf '%s_\n' "$BUILDNUMBER"
PS: 変数は常に引用符で囲んでください。
答え2
ジョージ・ヴァシリウがすでに述べたように説明$BUILDNUMBER_
の場合、ではなく変数を印刷しているためです$BUILDNUMBER
。 目的の結果を得るための最善の方法は、George が説明したように を使用することです${BUILDNUMBER}_
。 他にいくつかのオプションがあります。
$ echo "$BUILDNUMBER"_
230_
$ echo $BUILDNUMBER"_"
230_
$ printf '%s_\n' "$BUILDNUMBER"
230_