文字列間のスペースを印刷します。

文字列間のスペースを印刷します。
#!/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アドレスにフレーズを追加してください。

"checked"ただし、IPとフレーズの間のスペースは印刷できません。

上記のコードは以下を印刷します。

185.18.207.66checked
31.18.212.113checked

以下のように印刷するにはどうすればよいですか?

185.18.207.66 checked
31.18.212.113 checked 

ベストアンサー1

スクリプトを正しく完了するには、改善すべきことがたくさんあります。

  • 二重引用符がありません。
  • 不要な外部コマンドを生成します。

単に配列を使用してください:

#!/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' "$@"

おすすめ記事