0

そのため、ディレクトリ内のすべてのファイルに対して何かを行う bash スクリプトを作成しようとしています。これは私のスクリプトです。問題は、このスクリプトが各スペースで分割され、新しい行で分割されることです。したがって、ls print のように見えます。(do 内に他のコードを入れます。エコーは単なるテストです)

#! /bin/bash
for file in $(ls)
do
    echo $file
done

では、どうすればこれを解決できますか?

4

2 に答える 2

0

ファイルのみを選択するには:

while read -r file; do
    echo "$file"
done < <(exec find -xtype f -maxdepth 1 -mindepth 1)

または、それらをフィルタリングするだけです

for file in *; do
    [[ -f $file ]] || continue
    echo "$file"
done
于 2013-09-18T16:06:56.307 に答える