我正在尝试执行以下操作:
cat > somefile "some text" <ctrl+d>; clear; some other program
但无需按 &lt;“ctrl + d”&gt; 这样该行将创建该文件,然后运行其他程序。我试着回应“一些文字”&gt; somefile;但是有太多的特殊字符。任何人都知道这个方法
答案 0 :(得分:1)
我认为你可能正在寻找的东西是这样的:
pax> cat >tempfile ; tput clear ; someprog
Enter your data here for tempfile
<ctrl-d>
**screen clears and someprog runs**
结束文件 CTRL-D 不是您输入的命令的一部分,它是cat
命令的输入流的一部分。< / p>
如果您不想使用输入流,那么您将不得不计算出echo
变体(学会拥抱shell逃脱的奇妙世界 - 你可以绕过大多数只使用单引号而不是双引号,或者只是提前创建输入文件并使用类似的东西:
cp sourcefile tempfile ; tput clear ; someprog
答案 1 :(得分:1)
如果您希望在somefile
中以多行或特殊字符书写一些文字,则应尝试此操作。 EOF在此处被视为一个特殊字符串,会在找到时自动终止cat
,但它可能是其他任何内容。
cat > somefile << EOF
some text
EOF
some other program