在bash脚本中,我需要检查字符串是否$HEADER
以字符序列“ / *”开头。我正在尝试:
if [ $(echo $HEADER | cut -c 1-2) = '/*' ]
它没有按预期工作。似乎将字符串与根目录的文件列表进行了比较。
如何保护从外壳解释的字符/和*?
用反斜杠保护字符也不起作用。
问题在于命令替换的结果取决于文件名的生成。您需要引用that,以及$HEADER
命令替换中的扩展。
if [ "$(echo "$HEADER" | cut -c 1-2)" = '/*' ]
由于您正在使用bash
,所以使用[[
命令(可以执行模式匹配)是一种更好的解决方案,因为Jahid已经回答了。
if [[ $HEADER = '/*'* ]]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句