私は次のことをしようとしています:
cat > somefile "some text" <ctrl+d>; clear; some other program
ただし、<"ctrl + d">を押す必要はありません。その行でファイルが作成され、他のプログラムが実行されます。echo "some text" > somefile; を試しました。しかし、そのための特殊文字が多すぎます。誰でもこれを回避する方法を知っています
somefile
テキストを複数行または特殊文字で書きたい場合は、これを試してください。EOF はここでは特別な文字列として扱われ、検出されるとcat
自動的に終了しますが、それ以外の文字列でもかまいません。
cat > somefile << EOF
some text
EOF
some other program
あなたが探しているのは、次のようなものだと思います。
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