0

所以我正在尝试创建一个 bash 脚本,为目录中的每个文件执行一些操作。这是我的脚本。问题是这个脚本在每个空间上拆分我宁愿让它在新行上拆分。所以它看起来就像 ls print。(我打算在do里面放其他代码,echo只是一个测试)

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

那么我该如何解决呢?

4

2 回答 2

5

您最好避免使用ls为什么不应该解析 ls 的输出)的结果。

相反,请执行以下操作:

for file in /your/dir/*
do
   echo "$file"
done
于 2013-09-18T15:57:31.247 回答
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 回答