使用:
set -o nounset 1)具有一个索引数组,如:
myArray=( "red" "black" "blue" ) 检查元素1是否设置的最短方法是什么? 我有时会使用以下内容:
test "${#myArray[@]}" -gt "1" && echo "1 exists" || echo "1 doesn't exist" 我想知道是否有首选的。
2)如何处理非连续索引?
myArray=() myArray[12]="red" myArray[51]="black" myArray[129]="blue" 例如,如何快速检查是否已设置“ 51”?
3)如何处理关联数组?
declare -A myArray myArray["key1"]="red" myArray["key2"]="black" myArray["key3"]="blue" 例如,如何快速检查“ key2”已被使用?
谢谢使用:
set -o nounset 1)具有一个索引数组,如:
myArray=( "red" "black" "blue" ) 检查元素1是否设置的最短方法是什么? 我有时会使用以下内容:
test "${#myArray[@]}" -gt "1" && echo "1 exists" || echo "1 doesn't exist" 我想知道是否有首选的。
2)如何处理非连续索引?
myArray=() myArray[12]="red" myArray[51]="black" myArray[129]="blue" 例如,如何快速检查是否已设置“ 51”?
3)如何处理关联数组?
declare -A myArray myArray["key1"]="red" myArray["key2"]="black" myArray["key3"]="blue" 例如,如何快速检查“ key2”已被使用?
谢谢使用:
set -o nounset 1)具有一个索引数组,如:
myArray=( "red" "black" "blue" ) 检查元素1是否设置的最短方法是什么? 我有时会使用以下内容:
test "${#myArray[@]}" -gt "1" && echo "1 exists" || echo "1 doesn't exist" 我想知道是否有首选的。
2)如何处理非连续索引?
myArray=() myArray[12]="red" myArray[51]="black" myArray[129]="blue" 例如,如何快速检查是否已设置“ 51”?
3)如何处理关联数组?
declare -A myArray myArray["key1"]="red" myArray["key2"]="black" myArray["key3"]="blue" 例如,如何快速检查“ key2”已被使用?
谢谢 问题来源于stack overflow
从man bash开始,条件表达式:
-v varname True if the shell variable varname is set (has been assigned a value). 例:
declare -A foo foo[bar]="this is bar" foo[baz]="" if [[ -v "foo[bar]" ]] ; then echo "foo[bar] is set" fi if [[ -v "foo[baz]" ]] ; then echo "foo[baz] is set" fi if [[ -v "foo[quux]" ]] ; then echo "foo[quux] is set" fi 这将显示foo [bar]和foo [baz]均已设置(即使后者设置为空值),而foo [quux]未设置。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。