Understanding arrays in shell scripting is crucial for managing collections of data efficiently. This chapter covers creating, iterating over, and working with associative arrays in Bash, specifically for version 4.x and beyond.
array=(1 2 3)array{1, 2, 3}array[1,2,3]array(1,2,3)${array[0]}array[1]${array[1]}array(0)apple, banana, and cherry?array=("apple" "banana" "cherry")array=apple,banana,cherryarray=["apple", "banana", "cherry"]array = apple banana cherryarray.lengtharray.size()${#array[@]}length(array)grape at the end of an existing array?array+=("grape")array("grape")array.push("grape")array("grape")array[0]="apple"; array[1]="banana"for i in 1 to 5; do array[i]=$i; donefor ((i=0;i<5;i++)); do array[i]=$i; donefor i in {0..5}; do array[i]=$i; doneunset array[0]delete array[0]remove array[0]array[0]=nullarray=()array[]array=""array={}array[*]${array[@]}array[]array{}for item in array; do echo $item; donefor item in ${array[@]}; do echo $item; donefor i in array; do echo $i; donefor item in ${array[*]}; do echo $item; donefor-inwhileforuntilfor i in ${!array[@]}; do echo $array[$i]; donefor i in ${array[@]}; do echo $array[$i]; donefor i in ${array[@]}; do echo $i; donefor i in ${array[0]}; do echo $array[i]; donearray=("a" "b" "c")for i in ${array[@]}; do echo $i; donea, b, and cbanana) in an array?index=$(array.indexOf("banana"))index=$(echo ${array[@]} | grep -n "banana")index=$(array["banana"])index=$(array.index("banana"))for i in ${!array[@]}; do echo $i: ${array[$i]}; donefor i in ${array[@]}; do echo $i: ${array[$i]}; donefor i in ${!array[*]}; do echo $i; donefor i in ${array[*]}; do echo $i; done${array[-1]}${array[${#array[@]}-1]}${array[0]}${array[${#array[@]}-1]}array[${#array[@]}]array=("red" "green" "blue")for color in "${array[@]}"; do echo $color; donebreakexitcontinuestopskipcontinuebreakexitdeclare -A arrayarray=(key1:value1 key2:value2)array={key1=value1, key2=value2}array["key1"]="value1"${array[key]}array[key]${array["key"]}array[key]array[key]="value"array.add("key", "value")array.push(key, value)array["key"]=valuefor key in ${array[@]}; do echo $key; donefor key in ${!array[@]}; do echo $key; donefor key in ${array[@]}; do echo ${array[$key]}; donefor key in ${array[*]}; do echo $key; doneif [ -v array[key] ]if [ -e ${array[key]} ]if [ $array[key] ]if [ -f ${array[key]} ]unset array[key]delete array[key]remove array[key]array[key]=nullecho ${array[@]}echo ${!array[@]}echo ${array[*]}echo ${array[!key]}length(array)echo ${#array[@]}array.sizearray.length()${array[key]}${array["key"]}array["key"]array[key]| Qno | Answer (Option with the text) |
|---|---|
| 1 | a) array=(1 2 3) |
| 2 | a) ${array[0]} |
| 3 | a) array=("apple" "banana" "cherry") |
| 4 | c) ${#array[@]} |
| 5 | a) array+=("grape") |
| 6 | d) Both a and b |
| 7 | d) All of the above |
| 8 | a) unset array[0] |
| 9 | a) array=() |
| 10 | b) ${array[@]} |
| 11 | b) for item in ${array[@]}; do echo $item; done |
| 12 | c) for |
| 13 | a) for i in ${!array[@]}; do echo $array[$i]; done |
| 14 | a) Prints a, b, and c |
| 15 | b) `index=$(echo ${array[@]} |
| 16 | a) for i in ${!array[@]}; do echo $i: ${array[$i]}; done |
| 17 | b) ${array[${#array[@]}-1]} |
| 18 | a) Loops through the entire array and prints each element |
| 19 | a) break |
| 20 | b) continue |
| 21 | c) Bash 4.x |
| 22 | a) declare -A array |
| 23 | c) ${array["key"]} |
| 24 | a) array[key]="value" |
| 25 | b) for key in ${!array[@]}; do echo $key; done |
| 26 | a) if [ -v array[key] ] |
| 27 | a) unset array[key] |
| 28 | b) echo ${!array[@]} |
| 29 | b) echo ${#array[@]} |
| 30 | b) ${array["key"]} |