bash中的字符串串联

  • 本文关键字:字符串 bash linux bash
  • 更新时间 :
  • 英文 :


我在尝试从WordPress自述文件中解析版本号时遇到以下bash脚本的问题。

cat readme.txt | {
    while read -r a b c d; do
    if [ ${a} == "Stable" ]  && [ ${b} == "tag:" ]; then
        VERSION="$c"
    fi
done
out="Updated to version $VERSION thanks"
echo $out
}

我期望的输出是

Updated to version 1.15 thanks

但实际输出是

 thanks to version 1.15

好像"谢谢"正在取代字符串的前面,而不是附加到末尾。有什么线索吗?

readme.txt和/或脚本具有DOS行尾;VERSION的值具有尾随回车符,这会影响输出。

如果将

输出通过管道传输到cat -A,您可能会发现$VERSION包含回车符。

您可以使用tr以下方法摆脱CR:

$ echo $'foorb'
boo
$ echo $'foorb' | tr -d 'r'
foob

相关内容

  • 没有找到相关文章

最新更新