数字上的zsh条件导致错误模式

时间:2017-06-24 09:59:07

标签: if-statement zsh

我有一个功能,我缩小调试,但我看不到问题。以下是重现该问题的最小代码:

#!/bin/zsh

ahead=1
if [[ "$ahead" -ne 0 ]]; then
    echo "test"
else
    echo "testelse"
fi

我从执行此脚本开始:

./test:4: bad pattern :[[ 1

我无法理解问题所在。如果我用tio.run进行测试,它就可以了! 如果我将它复制粘贴到控制台中它也可以。

如果我删除shebang我得到: ./test: line 2: [[ 1: command not found testelse

1 个答案:

答案 0 :(得分:1)

我真的不知道如何或为什么但是正如@justsomebody在评论中指出的那样,[[$ahead之间存在某种奇怪的空白字符。可能是vim或其他什么东西,如果你有任何线索,那就知道了。