Linux korn shell将文件名指定给数组

Linux korn shell将文件名指定给数组,linux,shell,Linux,Shell,我对kornshell语法感到困惑。我需要读取当前目录中的所有文件,并将它们分配给一个数组。然而。我需要排除目录。下面的代码也包含目录,这是我不想要的。另外,我无法获得要分配给数组的文件名 fileCount=0 for fileName in ./* do echo -n 'file = '; echo $fileName #$fileNameArr[$fileCount] = $fileName #how do I do this? let fileCount+=1

我对kornshell语法感到困惑。我需要读取当前目录中的所有文件,并将它们分配给一个数组。然而。我需要排除目录。下面的代码也包含目录,这是我不想要的。另外,我无法获得要分配给数组的文件名

fileCount=0
for fileName in ./*
do
    echo -n 'file = '; echo $fileName
    #$fileNameArr[$fileCount] = $fileName #how do I do this?
    let fileCount+=1
done

谢谢

在ksh中,没有循环只有一行:

set -A filenameArr  ./*
但是数组中的元素数量是有限的-请参阅ksh手册页了解您的ksh版本

我在HPUX10上使用的版本有1024个,其他一些版本可能有4096个。首先检查一下,ksh不是bash,它的元素数量基本上是无限的


存储在数组中的文件名数为:
echo${filenameArr[*]}

Ok,但这也包括所有目录。是否有仅包含文件的掩码?