只是弄乱了bash
,我想出了
declare -a K <<< "${SHELL}"; declare -p $K
declare -p
是一个简短的命令,用于检查数组是否已创建,如果给定的变量实际上是一个数组,通常它会为给定的数组发出一个声明,如果一切都按预期进行的话。
<<<
将某些内容的内容重定向到标准输入,这样您就可以使用变量的内容,就像它来自标准输入一样。
declare -a
声明一个数组,正常一个不是关联数组,键只是数字。
那么为什么这个命令打印出的数据blob甚至看起来不像declare -p
的常规输出,它甚至看起来都不像数组。它只是一系列declare <something> <something>
。
有人可以解释这个命令的行为吗?
答案 0 :(得分:3)
使用它的正确方法是:
declare -a K=("${SHELL}")
declare -p K
declare -a K='([0]="/bin/bash")'
因此请使用declare -p K
代替declare -p $K
根据help declare
:
-p display the attributes and value of each NAME