Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
所以我正在尝试创建一个 bash 脚本,为目录中的每个文件执行一些操作。这是我的脚本。问题是这个脚本在每个空间上拆分我宁愿让它在新行上拆分。所以它看起来就像 ls print。(我打算在do里面放其他代码,echo只是一个测试)
#! /bin/bash for file in $(ls) do echo $file done
那么我该如何解决呢?
您最好避免使用ls(为什么不应该解析 ls 的输出)的结果。
ls
相反,请执行以下操作:
for file in /your/dir/* do echo "$file" done
仅选择文件:
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