我正在编写 bash 脚本。我遇到的悬而未决的问题是如何一次接受来自用户的多个输入。
具体来说,当脚本要求输入时,用户必须能够输入多个域名。
例子,脚本运行部分:
Enter the domain names :
并且用户必须能够通过手动输入每个域名来逐行输入域名,或者他/她只需从某处复制域名列表并将其粘贴到脚本输入中,如下所示:
domain1.com
domain2.com
domain3.com
domain4.com
这可能吗?
最佳答案
是的,你可以:使用readarray
:
printf "Enter the domain names: "
readarray -t arr
# Do something...
declare -p arr
上面的最后一行只是记录了 bash 现在视为数组的内容。
用户可以键入或复制并粘贴数组名称。当用户完成后,他在一行的开头键入 Ctrl-D。
例子:
$ bash script
Enter the domain names: domain1.com
domain2.com
domain3.com
domain4.com
declare -a arr='([0]="domain1.com" [1]="domain2.com" [2]="domain3.com" [3]="domain4.com")'
关于linux - 在 bash 脚本中接受多行输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38811735/