pick_host
é chamado com "$hosts"
, ou seja, o conteúdo do arquivo host.txt
. Na função, porém, você diz
for host in 'cat $1'
Mas $1
é o primeiro argumento para pick_host
, ou seja, "$ hosts". Você está tentando cat
nomes de host, não nomes de arquivos.