複数のディレクトリが許可され、find
参照する必要があります。
find "${dirlist[@]}" "${ftype[@]}" -type f
答え1
はい、find
1つ以上のディレクトリパスから検索を開始できます(実際に有効なパス名であれば、必ずしもディレクトリパスである必要はありません)。
find dir1 dir2 dir3 -type f
このコマンドは、リストされている3つのディレクトリ内または下のすべての一般ファイルを探します。
検索パスのリストが配列にある場合(あなたの質問からわかるように)、その配列の拡張をディレクトリパスのリストとして参照する必要があります。この点で表示されるコードは正確です。
dirs=( dir1 dir2 dir3 )
find "${dirs[@]}" -type f
あなたの配列に何が含まれているのかわからないので、ftype
これについては言及しません。他のディレクトリのリストが含まれている場合は、少なくともそのコード行を見ると正しく使用しています。
関連: