我有一个匹配模式的脚本,如果匹配,我使用匹配附加到变量。
我的脚本适用于Bash v3.2.57
,但在v4.3.30
上失败。
有人能告诉我第二个if
条件与这里的模式匹配有什么问题吗?
#!/bin/sh
if [ -f .file-to-read ]; then
while read p; do
echo "yes"
if [[ $p =~ "@user/"(.+)"@"[0-9]+"."[0-9]+"."[0-9]+ ]]
then
var="$var<@user/${BASH_REMATCH[1]}|$p>\\n"
fi
done < .file-to-read
fi
错误消息是
Syntax error: "(" unexpected (expecting "then")
答案 0 :(得分:0)
我想出了这个问题。问题是文件正在#!/bin/sh
执行时应该是#!/bin/bash