[英]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值。
看来您的$BUILD_ID
变量中有Windows 回车符 。
要进行检查,请尝试以下命令(回车符将显示为^M
):
cat -A <<< "$BUILD_ID"
在您的终端中,您可以尝试以下操作(要获取^M
char,请使用CTRL + V + M ):
$ BUILD_ID="585548979^M"
$ echo ${BUILD_ID}text
结果应为:
text48979
您可以使用Bash参数替换来清理变量:
$ ID=${BUILD_ID%$'\r'}
$ echo ${ID}text
585548979text
假设我们有一个变量var1=value
。 如果要在变量的开头添加一些文本,可以执行以下操作:
var1="some text${var1}"
如果我想在末尾添加一些文字,它将是:
var1="${var1}some text"
这种下面的方式对我有用。 我的.sh文件具有以下内容:
#!/bin/bash -x
. /usr/test/build.properties
echo $BUILD_ID
echo "num----------------" build_${BUILD_ID}.zip
您可以简单地使用assignment(=)
运算符来附加文本。
a=don
b=$a" jon"
echo $b #==>don jon
谢谢大家
能够解决此问题..这是由于^ M,感谢@Kenavoz,现在我获得了正确的ID,并能够进行o / p。
更改:BUILD_ID = $ {ID%$'\\ r'}
谢谢,Sampath A
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.