kornShell 和 AIX 无法创建数组变量

kornShell 和 AIX 无法创建数组变量
LS=`ls "$SRC_PATH"/* | grep -i -v *.ignore`

我无法使用 for 循环,因为我需要使用 while 检查条件,因为有多个条件。

尝试使用访问内容

${LS[$CNT]}
CNT=`expr $CNT + 1`

我无法访问内容。

答案1

我们将从不解析 ls 的输出因为提醒人们这一点总是好的。

接下来请注意,grep可能没有做你想做的事;您可能想让\.ignore$它跳过以“.ignore”结尾的文件

由于我们正在使用ksh您不需要打电话expr;你可以这样做let CNT=CNT+1

现在..

要设置数组,ksh您需要使用set -A语法。

例如

set -A LS $(ls "$SRC_PATH"/* | grep -i -v '\.ignore$')

现在${LS[0]}将是第一个文件,等等。

例如,如果我们有

$ ls X               
a  b  c

然后

$ set -A LS $(ls X)
$ echo ${LS[0]}
a
$ echo ${LS[1]}
b
$ echo ${LS[2]}
c

相关内容