Bash - Como colocar um array dentro dos valores da variável?

0

Eu tenho um arquivo web.txt que contém:

youtube
facebook
google

Meu arquivo sh contém:

readarray web < web.txt
url = www.website.com

Comandos que usei:

readarray web < web.txt
url = www."$web".com

ping url

Resultado esperado:

ping youtube.com
ping facebook.com
ping google.com

Qual deve ser a sintaxe correta? Obrigado!

    
por Ben 10.11.2018 / 01:52

1 resposta

4

Se você realmente quiser imprimir a saída esperada mostrada, então

$ readarray -t web < web.txt
$ printf 'ping www.%s.com\n' "${web[@]}"
ping www.youtube.com
ping www.facebook.com
ping www.google.com

No entanto, se você quiser realmente fazer o ping dos hosts, provavelmente o xargs é mais simples, por exemplo

xargs -a web.txt -I{} ping -c1 "www.{}.com"
    
por 10.11.2018 / 02:17