this question is not the same as Does the shell support sets?
i know lots of script language support list structure, such as python, python, ruby, and javascript, so what about linux shell?
does shell support such syntax?
for i in list: do      print i done   i would first to initialize a list, for example:
ListName = [ item1, item2, ..., itemn ]   then iterate over it
is that possible when programming shell scripts?
It supports lists, but not as a separate data structure (ignoring arrays for the moment).
The for loop iterates over a list (in the generic sense) of white-space separated values, regardless of how that list is created, whether literally:
for i in 1 2 3; do     echo "$i" done   or via parameter expansion:
listVar="1 2 3" for i in $listVar; do     echo "$i" done   or command substitution:
for i in $(echo 1; echo 2; echo 3); do     echo "$i" done   An array is just a special parameter which can contain a more structured list of value, where each element can itself contain whitespace. Compare the difference:
array=("item 1" "item 2" "item 3") for i in "${array[@]}"; do   # The quotes are necessary here     echo "$i" done  list='"item 1" "item 2" "item 3"' for i in $list; do     echo $i done for i in "$list"; do     echo $i done for i in ${array[@]}; do     echo $i done 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With