2017-08-28 58 views
1

我想了解下面的bash腳本代碼片段在做什麼。 順序的劉海('!')是讓我絆倒的主要因素,在網上搜索似乎沒有真正產生任何有用的東西。bash腳本中的順序BANGs

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

回答

1

它表示「不」。從the find(1) man page

! expr 

真要是EXPR是假的。這個角色通常也需要防止shell解釋。

在每個測試之間有隱含的

  • 查找文件:-type f
  • .git目錄
  • 但不是:! -path '*\.git*'
  • 而忽略README.md! -path '*README\.md'
  • 而忽略?scriptname! -path "*?scriptname",其中?是單個字符。