bash脚本中的顺序BANG

时间:2017-08-28 12:44:28

标签: bash command-line

我试图了解以下bash脚本代码段正在做什么。  连续的爆炸('!')是绊倒我的主要因素,在线搜索似乎并没有真正产生任何有用的东西。

for file in $(find $pwd/localroot -type f ! -path '*\.git*' ! -path '*README\.md' ! -path "*?scriptname"); do

1 个答案:

答案 0 :(得分:1)

这意味着“不”。来自the find(1) man page

! expr
     

如果 expr 为false,则为True。这个角色通常还需要保护shell免受解释。

每个测试之间都有隐含的 ands

  • 查找文件:-type f
  • 但不在.git目录中:! -path '*\.git*'
  • 并忽略README.md! -path '*README\.md'
  • 并忽略?scriptname! -path "*?scriptname",其中?是一个字符。