我正在尝试创建一个手动创建的文件,通过打开一个vi编辑器然后Esc + i然后你粘贴一列条目然后Esc:wq !,我不希望用户甚至打开vi编辑器,脚本应该输入数据列表,它应该创建文件并添加条目。
count=1
read total
while [ "$count" -le "$total" ]; do read -p Name ; echo $Name > /tmp/cl; count=$(($count + 1)); done
但它不起作用,因为当我在第一个“名称”提示符下粘贴输出时,在每个输入之后不希望输入Enter,而且我甚至不想输入名称的总数。< / p>
答案 0 :(得分:0)
您可以使用以下内容直接将输出粘贴到文件中,而不是编写脚本:
cat > filename
Right Click
Ctlr+C
答案 1 :(得分:0)
在运行之前创建一个rm行来清除文件内容可能不需要它。 由于你没有提到shell变种,我更喜欢在这种情况下使用sh。
您的脚本可能会使用&gt;运营商注意&gt;&gt; 。 &GT;清除文件并将文本放入其中。然后在下一个循环中再次清除并再次输入变量内容。
我使用而不是因为它更快地抢劫,而且代码更小。
return Response.status(200).entity(array.toString()).build();
然后这是您要查找的那个,当您输入空行而不将空行添加到文件末尾时将退出。只需复制粘贴并按一次或两次输入取决于输入。不幸的是,如果你复制粘贴内容,其中两个部分用空行分隔,那么它也会在那里退出。
#!/bin/sh
read -p "Total: " total # Input for loop cycle count
rm ./temp.txt # delete old file before run
for (( i=1 ; i <= $total ; i++ ))
do
read -p "Name: " Name # get name
echo $Name >> ./temp.txt # put it into file named temp.txt
done