![kornShell 和 AIX 无法创建数组变量](https://linux22.com/image/146154/kornShell%20%E5%92%8C%20AIX%20%E6%97%A0%E6%B3%95%E5%88%9B%E5%BB%BA%E6%95%B0%E7%BB%84%E5%8F%98%E9%87%8F.png)
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