我正在尝试创建以下字符串
Beta-3.8.0但是无论我做什么,shell脚本总是省略.句点字符。
echo "$readVersion"
if [ -z $readVersion ]
then
echo "readVersion is empty"
exit 1
fi;
IFS=.
set $readVersion
newVersion=$(echo "$2 + 1" | bc)
newBranch="Beta-$1.$newVersion.$3"
echo $newBranch指纹:
3.8.0
Beta-3 9 0
我也试过
newBranch='Beta-'$1'.'$newVersion'.'$3
or
newBranch="Beta-{$1}.{$newVersion}.{$3}"虽然这似乎打印了正确的值echo "$1.$newVersion.$3",为什么变量不能工作?
我需要稍后在脚本中使用的变量..。
发布于 2016-01-29 15:02:01
一旦完成,您就可以保存和恢复IFS。
oldIFS=$IFS
IFS=.
set $readVersion
newVersion=$(echo "$2 + 1" | bc)
IFS=$oldIFS
newBranch="Beta-$1.$newVersion.$3"
echo "$newBranch"也可以在打印时引用:
echo "$newBranch"前者是一个更好的主意,海事组织,因为它传达了你的意图,并将使其余的代码使用“正确”的IFS。后者只是绕过了这个问题。
https://stackoverflow.com/questions/35087453
复制相似问题