#!/bin/bash
arrDomains=()
echo "Enter the domain names :"
while read domain
do
arrDomains+=($domain)
# do processing with each domain
done
echo "Domain List : ${arrDomains[@]}"
echo "Paste your multi-line text into the terminal, ending with two blank lines"
while [ 1 ]; do
read line
echo $line >> file.txt
lastline=$line
if [ "${lastline}${line}" == "" ]; then break; fi
done
4条答案
按热度按时间c86crjj01#
是的,您可以:使用
readarray
:上面的最后一行只是记录了bash现在看到的数组。
用户可以键入或复制并粘贴数组名。当用户完成后,他在一行的开头键入Ctrl-D。
示例:
vatpfxk52#
使用
loop
:输入所有域名后,按
ctrl + D
结束输入。2mbi3lxu3#
所以@John1024的答案确实让我走上了正确的道路,但它仍然是 * 超级 * 困惑我如何让这个数据不仅分配给一个变量,而且重要的是,保留空格和换行符。
在回答了很多StackOverflow和StackExchange之后,我创建了下面的代码片段,它来自我的Uber BashScripts project@wifi-autorun-on-connect.installer:
oaxa6hgo4#
下面是我在必须使用BASH脚本请求pem格式证书的情况下所做的事情: