次のチェックはできません
for file in `ls -R .`
do
if [-f $file] ......
問題は、file.gz
(gzip
圧縮ファイル)が見つかり、機能しないときにこのチェックを一致させることです。
ベストアンサー1
「動作しない」という意味を具体的に明記すれば、より良い助けになります。
とにかく、「[-f command not find」という出力が出たら、[と内部の間にスペースを入れる必要があります(/usr/bin/[
すべての機能を備えたコマンドになるには)。
if [ -f $file ] ...
ただし、ファイルにスペースやその他の奇妙な文字が含まれる可能性があるため、少なくとも「$ file」の周りに引用符を付けることをお勧めします。
if [ -f "$file" ] ...
より良い方法は、ls -R .
構文解析の代わりに以下を使用することです。find .