Bash select 来自数组的参数
Bash select from array by argument
我有一个数组,里面装满了这样的元素;
vars=($bla=123 foo=456 bar=789)
现在,我可以使用这些并使用 IFS '=' 拆分它们,如下所示:
for var in "${vars[@]}"; do
IFS='=' read -a split <<< ${vars}
nr=${split[1]}
title=${split[0]}
效果很好。
但是,我希望能够通过向 'foo' 之类的脚本传递参数来 select 例如项目 foo=456。 'foo' 将是 2 美元。这在 bash 中可行吗?
我是这么想的:
"${vars[@]}"
使用关联数组(需要bash 4+):
#!/bin/bash
bla=xyz
declare -A vars=([$bla]=123 [foo]=456 [bar]=789)
set -- one foo
echo ${vars[]}
我有一个数组,里面装满了这样的元素;
vars=($bla=123 foo=456 bar=789)
现在,我可以使用这些并使用 IFS '=' 拆分它们,如下所示:
for var in "${vars[@]}"; do
IFS='=' read -a split <<< ${vars}
nr=${split[1]}
title=${split[0]}
效果很好。
但是,我希望能够通过向 'foo' 之类的脚本传递参数来 select 例如项目 foo=456。 'foo' 将是 2 美元。这在 bash 中可行吗?
我是这么想的:
"${vars[@]}"
使用关联数组(需要bash 4+):
#!/bin/bash
bla=xyz
declare -A vars=([$bla]=123 [foo]=456 [bar]=789)
set -- one foo
echo ${vars[]}