我需要查看我的ini文件并检查该行是否以括号开头,以确定新配置是否已启动。有没有办法在bash中检查这个?我试过了
line="[test]"
if [[ "$line" =~ [.* ]]; then
echo "Got it!"
else
echo "Nothing found"
fi
但它对我不起作用。我认为括号需要以某种方式逃脱,但我找不到任何关于如何的信息。任何帮助将不胜感激。
答案 0 :(得分:5)
为此,您应该反斜杠特殊字符[
,所以:
line='[test]'
if [[ $line =~ ^\[ ]]; then
echo "Got it!"
else
echo "Nothing found"
fi
<强>说明强>
[
是打开REGEX课程的起始角色,例如[0-9]
bash
[[ ]]
测试答案 1 :(得分:0)
使用正则表达式很糟糕!请改为使用bash
glob:
if [[ $line = [* ]]; then
echo 'Got it!'
else
echo "Nothing found"
fi
希望这有助于更有效地使用bash
。