korn shell将文件名分配给数组

时间:2014-12-03 02:41:35

标签: linux shell

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

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

THX!

1 个答案:

答案 0 :(得分:2)

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

set -A filenameArr  ./*

但是数组中元素的数量是有限的 - 请参阅ksh手册页,了解您的ksh版本。

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

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