すべてのフォルダを検索し、特定の時間より古いファイルを返すようになっているUNIXスクリプトがあります。私が提示したロジックは次のとおりですが、スクリプトは空白のあるフォルダを読み取ることができません。これを行う方法について誰でも助けることができますか?
ディレクトリ= '/a/b/テスト';
スクリプトはテスト後にすべてのサブディレクトリを検索しますが、「テストスクリプト」などの空白のディレクトリは検索できません。
ベストアンサー1
だからあなたは次のようなものを持っています:
$ foo='my dir'
$ ls $foo
my: no file or directory found
dir: no file or directory found
代わりに、以下を試してください。
$ foo='my dir'
$ ls "$foo"
または、より良い方法は次のとおりです。
$ ls "${foo}"
どちらの方法も [:space:] 文字がシェルで解釈されないように保護し、その文字がコマンドのブレークポイントではなく [:space:] 文字として読み取られるようにします。
これはシェルスクリプトを書くときに開発する非常に良い習慣です!