シェルスクリプトでディレクトリ内のファイルのリストを取得するにはどうすればいいですか? 質問する

シェルスクリプトでディレクトリ内のファイルのリストを取得するにはどうすればいいですか? 質問する

シェル スクリプトを使用してディレクトリの内容を取得しようとしています。

私のスクリプトは次のとおりです:

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を使用します。

ベストアンサー1

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

おすすめ記事