[lang-ref] ( sequence_1_to_n ) ( bash )
@test "sequence 1 to n" {
# seq 1 n
# as array
declare -a items=($(seq 1 3))
[ ${#items[@]} -eq 3 ]
[ "${items[0]}" = "1" ]
[ "${items[1]}" = "2" ]
[ "${items[2]}" = "3" ]
[ "${items[*]}" = "1 2 3" ]
# variable supported
n=3
declare -a items=($(seq 1 $n))
[ ${#items[@]} -eq 3 ]
# as sequence
elems=()
for i in $(seq 1 3)
do
elems+=("$i")
done
[ ${#elems[@]} -eq 3 ]
[ "${items[*]}" = "1 2 3" ]
}
@test "sequence 1 to n alternative" {
# ({1..3})
# Note: this can be used with fixed value, ({1..$n}) does not work in array initialization
declare -a items=({1..3})
[ ${#items[@]} -eq 3 ]
[ "${items[*]}" = "1 2 3" ]
}