Печать пространства между строками

#!/bin/bash ARRAY="185.18.207.66 31.18.212.113" result="" for i in $ARRAY do result=$(printf '%s %s' "$result" "$i" "checked") done paste <(printf "%s\n" $result) 

Я пытаюсь напечатать IP-адреса, но с добавлением "checked" фразы для каждого IP-адреса.

Но я не могу распечатать пробел между IP и "checked" фразой

Над надписями кода:

 185.18.207.66checked 31.18.212.113checked 

Как я могу сделать это для печати, как показано ниже?

 185.18.207.66 checked 31.18.212.113 checked 

Есть много вещей, которые нужно улучшить с помощью вашего скрипта, прежде чем делать это правильно:

  • Отсутствует двойная кавычка
  • Появление ненужных внешних команд.

Вместо этого используйте массив:

 #!/bin/bash ARRAY=(185.18.207.66 31.18.212.113) printf '%s checked\n' "${ARRAY[@]}" 

или используя "$@" чтобы сделать его POSIXly:

 #!/bin/sh set -- 185.18.207.66 31.18.212.113 printf '%s checked\n' "$@"