Bash - 如何将数组放入变量值中?

0 shell array variable

我有一个 web.txt 文件,其中包含:

youtube
facebook
google
Run Code Online (Sandbox Code Playgroud)

我的 sh 文件包含:

readarray web < web.txt
url = www.website.com
Run Code Online (Sandbox Code Playgroud)

我使用过的命令:

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

ping url
Run Code Online (Sandbox Code Playgroud)

预期输出:

ping youtube.com
ping facebook.com
ping google.com
Run Code Online (Sandbox Code Playgroud)

正确的语法应该是什么?谢谢!

ste*_*ver 5

如果你真的想打印显示的预期输出,那么

$ readarray -t web < web.txt
$ printf 'ping www.%s.com\n' "${web[@]}"
ping www.youtube.com
ping www.facebook.com
ping www.google.com
Run Code Online (Sandbox Code Playgroud)

但是,如果您想实际 ping 主机,则可能xargs更简单,例如

xargs -a web.txt -I{} ping -c1 "www.{}.com"
Run Code Online (Sandbox Code Playgroud)