在 Bash 中创建对象数组是否可行?
这是我的尝试:
declare -a identifications=(
{
email = '...',
password = '...'
}
)
declare -a years=(
'2011'
'2012'
'2013'
'2014'
'2015'
'2016'
)
for identification in "${identifications[@]}"
do
for year in "${years[@]}"
do
my_program --type=CNPJ --format=XLS --identification=${identification.email} --password=${identication.password} --competence=${year} --output="$identification - $year"
done
done
显然,这不起作用,我找不到如何实现它,因为我找不到bash对象。
bash
只有一种数据类型:字符串。即使是数组,也只是另一种语法引用形式,允许包含任意值(即空格)的字符串列表。(在bash
4中引入的关联数组稍微好了一些,但仍然远远不足以允许您寻找的数据结构类型。) - chepnerksh93
及其后续版本支持您所描述的变量定义。不幸的是,ksh
似乎已经被放弃了,因为即使从kornshell.com指向的man页面也是死链接(而且已经有一段时间了)。我也无法为您指出如何使用您的ksh来实现该功能的文档(它可能在某个地方存在)。祝你好运。 - shellter