我在变量中有一个值,可能是绝对或相对url,我需要检查它是哪一个。
我发现=~
中有一个[[
运算符,但我无法使其运行。我做错了什么?
url="http://test"
if [[ "$url" =~ "^http://" ]];
then echo "absolute.";
fi;
答案 0 :(得分:2)
你需要使用正则表达而不引用:
url="http://test"
if [[ "$url" =~ ^http:// ]]; then
echo "absolute."
fi
这输出`绝对。因为正则表达式需要在较新的BASH中没有引用(在BASH v3.1之后)
或者避免正则表达式并使用glob匹配:
if [[ "$url" == "http://"* ]]; then
echo "absolute."
fi