С массивом bash:
$ HostNames=( host1 "host two" host3 )
$ { printf 'var:\n' ; printf -- ' - %s\n' "${HostNames[@]}"; } > somefile
$
$ cat somefile
var:
- host1
- host two
- host3
Решено: Да, это плохая практика. Спасибо @SatoKatsura за заполнение пробелов.
Правильное решение:
# ... blah ...
echo -n "A prompt for the user " >&2
read SOMEVAR >> /dev/null
# ... other stuff ...
printf "Results\t$RESULT\n"
Что более портативно и лучше и безопаснее.