gpt4 book ai didi

linux - 清空 ksh 中的现有数组

转载 作者:太空宇宙 更新时间:2023-11-04 09:17:11 28 4
gpt4 key购买 nike

我有一个脚本,它将文件列表存储在一个数组中,如下所示

set -A my_array $(ls -tr $INPUT_DIRECTORY/*)

我必须清空这个 my_array 变量才能将其用于其他目的。我不能声明另一个新数组。

有没有什么办法可以清除数组的内容,重新使用?

提前致谢。

最佳答案

因为您已经在使用 set -A ... 来清除您可以发出的数组:

set -A my_array

重新使用数组:

set -A my_array $(command to generate new data set)

例如:

$ cd /
$ set -A my_array $('ls' -tr sys)
$ echo ${my_array[@]}
kernel devices module bus class fs block power firmware dev
$ set -A my_array $('ls' -tr var)
$ echo ${my_array[@]}
opt crash X11R6 mail games yp spool lib adm cache lock tmp log run
$ set -A my_array
$ echo ${my_array[@]}
<<no output>>

或者您可以使用循环构造,例如:

for i in ${!my_array[@]}
do
unset my_array[${i}]
done

例如:

$ set -A my_array $('ls' -tr var)
$ echo ${my_array[@]}
opt crash X11R6 mail games yp spool lib adm cache lock tmp log run
$ for i in ${!my_array[@]}
do
unset my_array[${i}]
done
$ echo ${my_array[@]}
<<no output>>

关于linux - 清空 ksh 中的现有数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46036823/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com