删除数组
要删除数组,请使用 未设定 命令:
[我@linuxbox ~]$ foo=(abcdef)
[我@linuxbox ~]$ 回声 ${foo[@]}
abcdef
[我@linuxbox ~]$ 取消设置 foo
[我@linuxbox ~]$ 回声 ${foo[@]}
[我@linuxbox ~]$
[我@linuxbox ~]$ foo=(abcdef)
[我@linuxbox ~]$ 回声 ${foo[@]}
abcdef
[我@linuxbox ~]$ 取消设置 foo
[我@linuxbox ~]$ 回声 ${foo[@]}
[我@linuxbox ~]$
unset 也可用于删除单个数组元素:
[我@linuxbox ~]$ foo=(abcdef)
[我@linuxbox ~]$ 回声 ${foo[@]}
abcdef
[我@linuxbox ~]$ 取消设置 'foo[2]' [我@linuxbox ~]$ 回声 ${foo[@]} abdef
[我@linuxbox ~]$ foo=(abcdef)
[我@linuxbox ~]$ 回声 ${foo[@]}
abcdef
[我@linuxbox ~]$ 取消设置 'foo[2]' [我@linuxbox ~]$ 回声 ${foo[@]} abdef
在这个例子中,我们删除了数组的第三个元素,下标 2。记住,数组从下标 XNUMX 开始,而不是 XNUMX! 另请注意,必须引用数组元素以防止 shell 执行路径名扩展。
有趣的是,将空值分配给数组并不会清空其内容:
[我@linuxbox ~]$ foo=(abcdef)
[我@linuxbox ~]$ 富= [我@linuxbox ~]$ 回声 ${foo[@]} 定义
[我@linuxbox ~]$ foo=(abcdef)
[我@linuxbox ~]$ 富= [我@linuxbox ~]$ 回声 ${foo[@]} 定义
任何对不带下标的数组变量的引用都是指数组的元素零:
[我@linuxbox ~]$ foo=(abcdef)
[我@linuxbox ~]$ 回声 ${foo[@]}
abcdef [me@linuxbox ~]$ 富=A
[我@linuxbox ~]$ 回声 ${foo[@]}
一个bcdef
[我@linuxbox ~]$ foo=(abcdef)
[我@linuxbox ~]$ 回声 ${foo[@]}
abcdef [me@linuxbox ~]$ 富=A
[我@linuxbox ~]$ 回声 ${foo[@]}
一个bcdef