Shell-Script
有效性檢查文件夾中的所有文件,具體取決於 shebang
我有一個包含一些 lua 和一些 bash 文件的項目。我想遍歷所有文件,並根據我想執行有效性檢查的 shebang。
您可以使用
find
andawk
檢查第一行(您的 awk 必須支持 FNR,就像 POSIX awks 一樣)並添加一些搜尋模式來查找(例如排除隱藏文件夾):echo "check bash files ..." find . -not -path '*/\.*' \ -type f -exec awk 'FNR == 1 && /^#!.*sh/{print FILENAME}' {} + | \ while IFS= read -r f; do echo "checking $f ..." bash -n "$f" done
注意:用於
IFS=
避免拆分包含 之一的文件名$IFS
,例如:'a b'