我正在尝试执行以下操作:
cat > somefile "some text" <ctrl+d>; clear; some other program
但不必按 <"ctrl + d"> 以便该行将创建文件然后运行其他程序。我试过 echo "some text" > somefile; 但是有太多的特殊字符。任何人都知道解决这个问题的方法
我认为您可能正在寻找的是这些方面的东西:
pax> cat >tempfile ; tput clear ; someprog
Enter your data here for tempfile
<ctrl-d>
**screen clears and someprog runs**
结束文件CTRL-D不是您输入的命令的一部分,它是命令输入流的一部分cat
。
如果您不想使用输入流,您要么必须解决变体(学习拥抱 shell 转义的美妙世界 - 您可以通过使用单引号而不是双引号来echo
绕过其中的大多数那些),或者只是提前创建您的输入文件并使用以下内容:
cp sourcefile tempfile ; tput clear ; someprog
If you wish to write some text in somefile
in multiple lines or with special characters, you should try this. EOF is treated as a special string here that will terminate cat
automatically when found but it could be anything else.
cat > somefile << EOF
some text
EOF
some other program