Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 替换数组的bash脚本未给出预期的输出。正在覆盖上一个值_Arrays_Bash_Associative Array - Fatal编程技术网

Arrays 替换数组的bash脚本未给出预期的输出。正在覆盖上一个值

Arrays 替换数组的bash脚本未给出预期的输出。正在覆盖上一个值,arrays,bash,associative-array,Arrays,Bash,Associative Array,我得到了输出 declare -a args=() args["p4"]=3 args["ifile"]=4 echo ${args["p4"]} 为什么要覆盖上一个数组条目?这里有一个答案: 使用declare-a指定要声明索引数组。任何非数字索引都将被解释为零。相反,使用declare-A初始化关联数组。但是请注意,只有少数壳支持关联数组 从手册页: 4 查看declare的选项-a。请参阅:帮助声明。 Options which set attributes: -a

我得到了输出

declare -a args=()
args["p4"]=3
args["ifile"]=4
echo ${args["p4"]}

为什么要覆盖上一个数组条目?

这里有一个答案:

使用
declare-a
指定要声明索引数组。任何非数字索引都将被解释为零。相反,使用
declare-A
初始化关联数组。但是请注意,只有少数壳支持关联数组

从手册页:

4

查看declare的选项
-a
。请参阅:
帮助声明
    Options which set attributes:
      -a    to make NAMEs indexed arrays (if supported)
      -A    to make NAMEs associative arrays (if supported)