8

入力のパイピングに関するこの StackOverflow スレッドによると、実行はコマンドの最初のプロンプトにecho "yes" | command渡されます。yesただし、echo "yes" | python manage.py flushエラーが発生します

EOFError: EOF when reading a line.
4

4 に答える 4

30

manage.py が複数行の入力を要求していると思われます。使えない理由があるの

 python manage.py flush --no-input

文書化されているように?

于 2013-05-02T19:04:32.953 に答える
12

あなたのコメントを読むと、最初のコメントを自動化し、残りのコメントを求めているようです。

そのリンクからこれを学んだかもしれないし、学ばなかったかもしれません:

管理スクリプトは stdin で入力を求めます。Echo は出力を stdout に渡してから閉じます。

エコーされた 'yes' を stdout に渡し、続いてキーボードから読み取ります。

cat <(echo "yes") - | python manage.py

(ファイルのふりをして) のコンテンツを連結し (1 つからの出力、次に次の出力echo yes)、その後に stdin のコンテンツを続けます。その結果、最初の自動回答が得られ、その後に残りのプロンプトが表示されます。

これを複数回行うこともできることに注意してください。

cat <(echo "yes") - <(echo "no") -

「yes」を出力し、ctl-d で終了するまで入力内容が続き、最後に「no」が続き、ctl-d で終了するまで入力内容が続きます。

于 2013-05-02T20:53:18.310 に答える
1

ほとんどの場合、「python manage.py flush」は「yes」を読み取った後に追加の入力を期待しますが、「echo "yes"」が終了して出力ファイルが閉じられるため、取得されません。

「python manage.py flush」が他に何を期待しているかを把握し、それを入力に提供する必要があります。

于 2013-05-02T19:04:13.090 に答える