1. ホーム
  2. バッシュ

[解決済み】シェルスクリプトでディレクトリ内のファイル一覧を取得するには?

2022-04-18 01:23:15

質問

シェルスクリプトでディレクトリの中身を取得しようとしています。

私のスクリプトは

for entry in `ls $search_dir`; do
    echo $entry
done

ここで $search_dir は相対パスです。ただし $search_dir には、名前に空白を含む多くのファイルが含まれています。その場合、このスクリプトは期待通りに実行されません。

を使うことができるのは知っています。 for entry in * しかし、それは私のカレントディレクトリに対してのみ有効です。

そのディレクトリに移動できることは知っています。 for entry in * しかし、私の特殊な状況では、それを行うことはできません。

2つの相対パスがあります $search_dir$work_dir その中でファイルを作成したり削除したりと、同時に作業しなければならないのです。

では、どうすればいいのか?

PS:私はbashを使っています。

解決方法は?

search_dir=/the/path/to/base/dir/
for entry in "$search_dir"/*
do
  echo "$entry"
done