如何将值附加到 shell 脚本中的变量

how to append a value to a variable in shell script

我正在从属性中获取一个变量值,并且我能够在 sh 文件中进行访问。 但我无法向该变量附加另一个值。

请多多指教。

$ echo "Build ID from properties:"$BUILD_ID
Build ID from properties: abcd_v6_c1

$ echo " num----------------" build_${BUILD_ID}.zip
.zip---------------- build_abcd_v6_c1

请建议如何附加 .zip 值。

下面的方法对我有用。我的 .sh 文件包含以下内容:

#!/bin/bash -x
. /usr/test/build.properties
echo $BUILD_ID
echo "num----------------" build_${BUILD_ID}.zip

假设我们有一个变量var1=value。 如果我想在变量的开头添加一些文本,我可以这样做:

var1="some text${var1}"

如果我想在最后添加一些文字,它将是:

var1="${var1}some text"

您可以简单地使用 assignment(=) 运算符来附加文本。

a=don
b=$a" jon"
echo $b #==>don jon

您的 $BUILD_ID 变量中似乎有一个 Windows carriage return

要检查,请尝试此命令(回车 return 将显示为 ^M):

cat -A <<< "$BUILD_ID"

在您的终端中,您可以试试这个(要获取 ^M 字符,请使用 CTRL + V + M) :

$ BUILD_ID="585548979^M"
$ echo ${BUILD_ID}text

结果应该是:

text48979

您可以使用 Bash 参数替换来清理您的变量:

$ ID=${BUILD_ID%$'\r'}
$ echo ${ID}text
585548979text

谢谢大家,

能够解决这个问题.. 这是因为 ^M 谢谢@Kenavoz 现在我得到了正确的 ID 并且能够继续 o/p.

变化:BUILD_ID=${ID%$'\r'}

谢谢, 萨姆帕特 A