我正在尝试检查字符串是否以特定字符串开头。但是下面的代码不起作用。
//设置@test_date =' 123456'
if [[ $var == "set @test_date =*" ]]; then
echo "true"
else
echo "false"
fi
我发现了类似的问题here,但它对我不起作用
谢谢
答案 0 :(得分:1)
这应该有效:
[[ "$var" == "set @test_date ="* ]] && echo "true" || echo "false"
*
需要超出shell的引号才能扩展。
答案 1 :(得分:0)
如果您知道自己在寻找什么,以下内容通常最为强大:
[[ "${var:0:len_of_sub}" == "$substring" ]] && echo "${var:0:len_of_sub} matches $substring"
此外,您可以在此处调整起始索引0
,以便在任何位置开始匹配。有很多方法可以做到这一点,所以你应该考虑所有的答案。另一个最爱(仅适用于复合命令[[
):
[[ "$var" =~ "$substring" ]]
这将匹配$var