bash中的数组是否需要declare语句

bash中的数组是否需要declare语句,bash,Bash,快速提问。在bash中创建数组时是否需要declare语句?例如,我有: declare -a keys keys=( $(aws iam list-access-keys --user-name "$aws_user_name" --profile="$aws_env" | jq -r '.AccessKeyMetadata[].AccessKeyId') ) 或者我可以用这行创建数组吗 keys=( $(aws iam list-access-keys --user-name "$aws_

快速提问。在bash中创建数组时是否需要declare语句?例如,我有:

declare -a keys
keys=( $(aws iam list-access-keys --user-name "$aws_user_name" --profile="$aws_env" | jq -r '.AccessKeyMetadata[].AccessKeyId') )
或者我可以用这行创建数组吗

keys=( $(aws iam list-access-keys --user-name "$aws_user_name" --profile="$aws_env" | jq -r '.AccessKeyMetadata[].AccessKeyId') )

常规数组不需要(当然,除非您想设置一些其他属性)。但是对于关联数组,它是必需的。但是如果您想使变量成为局部变量,您还可以使用declare@HielkeWalinga,您可以执行
localarr;ARR =(1 2 3)< /代码>,不曾声明为一个数组,带有<代码> -<代码>,如果需要的话,可以考虑所有变量为WANABE数组:<代码> x=42;x[1]=37;回声“${x[@]}”
甚至
y=42;y+=(37);回显“${y[@]}”