繁体   English   中英

如何在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值。

看来您的$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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM