Linux “的用法^-&引用;格雷普
我在bash脚本中遇到了这个问题:Linux “的用法^-&引用;格雷普,linux,bash,unix,grep,echo,Linux,Bash,Unix,Grep,Echo,我在bash脚本中遇到了这个问题: echo -e "${CONFIG_FILE}x" | grep -q "^-" 其中,CONFIG_FILE是一些配置文件,它具有与生成脚本相关的设置 “${CONFIG_FILE}x”中的'x'的含义是什么?在grep中-q“^-”模式会做什么 谢谢 echo-e“${CONFIG_FILE}x” 展开并打印CONFIG_FILE变量的值,后跟literalx grep-q“^-” 如果输出以-符号开头,则退出 在${CONFIG_FILE}之后,
echo -e "${CONFIG_FILE}x" | grep -q "^-"
其中,CONFIG_FILE
是一些配置文件,它具有与生成脚本相关的设置
“${CONFIG_FILE}x”
中的'x'
的含义是什么?在grep中-q“^-”
模式会做什么
谢谢
展开并打印echo-e“${CONFIG_FILE}x”
变量的值,后跟literalCONFIG_FILE
x
如果输出以grep-q“^-”
符号开头,则退出-
${CONFIG_FILE}
之后,我看不出x
有任何用途。也许有一个早期版本的脚本,他们在变量周围没有引号,所以他们写了
echo -e ${CONFIG_FILE}x
在这种情况下,x
确保即使变量为空,echo
也有一个参数。但是引号解决了这个问题,因此不再需要x
grep-q“^-”
测试输入的第一个字母是否为-
。regexp^
匹配行的开头,-
匹配自身。-q
选项告诉grep
不要打印匹配行,它只是根据匹配与否设置退出状态。谢谢您的回答!但是使用“^-”的原因是什么?意思是它有什么帮助。我现在在很多地方都看到过这种情况。对文件进行这种检查有什么逻辑或哲学吗?