gpt4 book ai didi

linux - 如何在linux shell中匹配带有特殊字符的子字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 04:53:36 24 4
gpt4 key购买 nike

我想检查文件是否包含 bash 中的字符串。我已经对常规字符串字符这样做了。但是,我需要检查一个包含双引号“的新字符串。

假设字符串是:

PARAMETER_XYZ="no"

我尝试过这个,但不起作用:

ABC=$(cat /etc/file)
if [[ $ABC = *"PARAMETER_XYZ=\"no\""*]] ; then
exit 0
fi

有什么建议吗?

最佳答案

grep 是查找字符串是否存在的首选程序。

if grep 'PARAMETER_XYZ="no"' /etc/file > /dev/null then
exit 0
fi

如果您确实愿意,您还可以使用 [[ 来实现:

ABC=$(cat /etc/file)
if [[ $ABC = *'PARAMETER_XYZ="no"'* ]] ; then
exit 0
fi

但是,如果这实际上是您要解析的配置文件,那么有更好的解决方案,它们比查找精确的字符串更不脆弱。该文件看起来甚至可能是一个 shell 变量文件,在这种情况下,您可以直接source它,然后直接检查 $PARAMETER_XYZ。

关于linux - 如何在linux shell中匹配带有特殊字符的子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52673496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com