在一些shell脚本中找到了此表达式。双曲括号星“ {{*”是什么意思?
if [[ "$_DIR" = {{* ]]
我已经浏览了http://www.gnu.org/software/bash/manual/bash.html并尝试进行搜索,但找不到解释。
这意味着:“如果$ _DIR”扩展为以“ {{”开头的字符串...
因此,{{*
实际上根本不意味着要扑朔迷离,甚至比写
for file in {{*; do printf '%s\n' "$file"; done
...这意味着{{*
对bash的意义要比“所有名称以两个大括号开头的文件”更为重要。
在BashFAQ#31中搜索“模式匹配”,以获取更多信息[[
以及如何扩展它以提供不存在的功能test
,包括glob样式模式匹配和本机正则表达式支持。
或者,寻找[[…]]
在bash的手册的条件结构部分。
顺便说一句,与之等效的POSIX sh是:
case $_DIR in
{{*) echo "put the true branch here" ;;
*) echo "put the false branch here" ;;
esac
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句