shell脚本中的Equal不相等

时间:2016-01-04 16:39:41

标签: shell

我正在使用shell script将我的插件部署到WordPress仓库。

虽然这在大多数情况下有效,但有些插件会失败。问题是脚本检查版本号并将readme.txt与实际插件文件[Source]进行比较。

示例输出:

readme version: 0.5
plugin.php version: 0.5
Versions don't match. Exiting....

我可以删除支票,但我想只是为了它的初始目的。

为什么0.5 != 0.5?这是错误的类型吗?

修改

这是脚本的一部分

# Check version in readme.txt is the same as plugin file
NEWVERSION1=`grep "^Stable tag" $GITPATH/readme.txt | awk -F' ' '{print $3}'`
echo "readme version: $NEWVERSION1"
NEWVERSION2=`grep "^Version" $GITPATH/$MAINFILE | awk -F' ' '{print $2}'`
echo "$MAINFILE version: $NEWVERSION2"

if [ "$NEWVERSION1" != "$NEWVERSION2" ]; then echo "Versions don't match $NEWVERSION1 != $NEWVERSION2. Exiting...."; exit 1; fi

更新

做的时候

if [ "$NEWVERSION1" != "$NEWVERSION2" ]; then echo "Versions don't match $NEWVERSION1# != $NEWVERSION2#. Exiting...."; exit 1; fi

我得到输出

#. Exiting.... match 0.5# != 0.5

所以'#'就在开头。

1 个答案:

答案 0 :(得分:3)

#. Exiting.... match 0.5# != 0.5

你的第二个值包含\r,它会将光标移动到行的开头,因此输出。

echo -e "abc\rd"   # dbc

| tr -d '\r'剥离它。