我正在尝试运行简单的代码块。 它在第四行给出错误“`$1'附近的语法错误”
=~ 表示匹配正则表达式
我应该如何将“$1”变量与此运算符一起使用?
这是我的代码:
if [[ $1 -gt 3 ]] && [[ $1 -lt 7 ]]
then
echo "$1 is between 3 and 7"
elif [[ $1 =~ "Jeff"]] || [[ $1 =~ "Roger" ]] || [[ $1 =~ "Brian" ]]
then
echo "$1 works in the Data Science Lab"
else
echo "You entered: $1, not what I was looking for.."
fi
最佳答案
确实很有趣。您已在该行中输入第一个条件 [[ $1 =~ "Jeff"]]
,因此 "Jeff"
之间没有空格和]]
bash 将它们解释为单个字符串,这显然不是您的模式,整个解析失败并且行结构崩溃。如果添加该空格:
if [[ $1 =~ "Jeff" ]] || [[ $1 =~ "Roger" ]] || [[ $1 =~ "Brian" ]]
然后就可以了...看起来...
关于bash - 应为条件二元运算符 : syntax error near `$1' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53481876/