Bash - 配列を変数の値に入れる方法は?

Bash - 配列を変数の値に入れる方法は?

以下を含むweb.txtファイルがあります。

youtube
facebook
google

私のshファイルには次のものが含まれます。

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

私が使ったコマンド:

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

ping url

予想出力:

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

正しい構文は何ですか?ありがとうございます!

ベストアンサー1

もしあなたなら本物表示された期待される出力を印刷したい。

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

しかし、実際にホストをpingするには、xargs次のように簡単にできます。

xargs -a web.txt -I{} ping -c1 "www.{}.com"

おすすめ記事