0

私は次のことをしようとしています:

cat > somefile "some text" <ctrl+d>; clear; some other program

ただし、<"ctrl + d">を押す必要はありません。その行でファイルが作成され、他のプログラムが実行されます。echo "some text" > somefile; を試しました。しかし、そのための特殊文字が多すぎます。誰でもこれを回避する方法を知っています

4

2 に答える 2

1

somefileテキストを複数行または特殊文字で書きたい場合は、これを試してください。EOF はここでは特別な文字列として扱われ、検出されるとcat自動的に終了しますが、それ以外の文字列でもかまいません。

cat > somefile << EOF
some text
EOF

some other program 
于 2013-06-14T07:03:52.373 に答える
1

あなたが探しているのは、次のようなものだと思います。

pax> cat >tempfile ; tput clear ; someprog
Enter your data here for tempfile
<ctrl-d>
**screen clears and someprog runs**

最終ファイルは、入力するコマンドCTRL-Dの一部ではなく、コマンドの入力ストリームの一部です。cat

入力ストリームを使用したくない場合は、echoバリアントを解決する必要があります (シェルエスケープの素晴らしい世界を受け入れることを学びましょう -二重引用符の代わりに単一引用符を使用するだけで、それらのほとんどを回避できます)もの)、または単純に事前に入力ファイルを作成し、次のようなものを使用します。

cp sourcefile tempfile ; tput clear ; someprog
于 2013-06-14T07:02:45.843 に答える