【发布时间】:2016-02-01 06:00:25
【问题描述】:
我要执行以下命令:
猫> 模板.txt [在终端输入] 文本 [在终端中按Ctrl+d]
在脚本中。
有没有办法告诉脚本输入\Ctrl d? 有没有办法创建文件并在脚本中写入?
我没有找到任何对我有用的东西。
谢谢。
【问题讨论】:
-
这个问题似乎与 c 无关。你用什么脚本?重击? ?珀尔? Python?红宝石?其他?
我要执行以下命令:
猫> 模板.txt [在终端输入] 文本 [在终端中按Ctrl+d]
在脚本中。
有没有办法告诉脚本输入\Ctrl d? 有没有办法创建文件并在脚本中写入?
我没有找到任何对我有用的东西。
谢谢。
【问题讨论】:
我认为,Here Document 有点像你所说的脚本版本,尽管从你的描述中我并不完全清楚。
#!/bin/bash
cat > template.txt <<- EOF
Here
is some
text.
EOF
Ctrl-D 本身是 EOF 字符,ASCII 4。
【讨论】:
当您希望交互用户输入行并将它们添加到您的文件中直到用户输入 ^D 时,您可以使用下一个脚本:
echo "Please give input"
while read -r line; do
echo "Enter next line or ^D"
echo "${line}" >> template.txt
done
echo "After loop"
您不必检查 ^D,无需执行额外操作即可通过读取识别。因此您无需在vi 中使用CTRL-V CTRL-D。
【讨论】:
不,没有。脚本如何知道您的用户何时完成输入文本?
【讨论】: