Bash pole uchovává více hodnot. Používejte "${array[@]}", aby se prvky nerozbily podle mezer.
colors=(red "dark blue" green)
colors+=(orange)
printf '%s\n' "${colors[1]}"
printf 'prvků: %d\n' "${#colors[@]}"
for color in "${colors[@]}"; do
echo "$color"
done
Standardní způsob bezpečného čtení souboru po řádcích zachová mezery i poslední řádek bez newline.
while IFS= read -r line || [[ -n $line ]]; do
printf '%s\n' "$line"
done < input.txt
# CSV bez citovaných čárek
while IFS=, read -r id name email; do
printf '%s: %s <%s>\n' "$id" "$name" "$email"
done < users.csv