在Bash中循环以在目录中创建文件列表

问题描述 投票:0回答:3

我正在尝试获取一个目录中所有文件名的列表,但是由于某种原因,它不起作用。这是代码:

for f in *
do
echo $f >> summary.txt
done

你知道我在做什么错吗?

$ echo $-
himBH

$ echo $BASH_VERSION
4.2.46(2)-release

$ shopt | grep glob 
dotglob off 
extglob on 
failglob off 
globstar off 
nocaseglob off 
nullglob off
bash loops qsub
3个回答
0
投票

您需要两个分号:

for f in *; do echo $f>>summary.txt; done

0
投票

这是一种语法更简单的方法:

   for entry in "$search_dir"/* "$work_dir"/*
    do
      if [ -f "$entry" ];then
        echo "$entry"
      fi
    done

0
投票
for f in *;do echo $f;done > summary.txt
© www.soinside.com 2019 - 2024. All rights reserved.