如何将值附加到 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
我正在从属性中获取一个变量值,并且我能够在 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