入力のパイピングに関するこの StackOverflow スレッドによると、実行はコマンドの最初のプロンプトにecho "yes" | command
渡されます。yes
ただし、echo "yes" | python manage.py flush
エラーが発生します
EOFError: EOF when reading a line.
入力のパイピングに関するこの StackOverflow スレッドによると、実行はコマンドの最初のプロンプトにecho "yes" | command
渡されます。yes
ただし、echo "yes" | python manage.py flush
エラーが発生します
EOFError: EOF when reading a line.
あなたのコメントを読むと、最初のコメントを自動化し、残りのコメントを求めているようです。
そのリンクからこれを学んだかもしれないし、学ばなかったかもしれません:
管理スクリプトは 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 で終了するまで入力内容が続きます。
ほとんどの場合、「python manage.py flush」は「yes」を読み取った後に追加の入力を期待しますが、「echo "yes"」が終了して出力ファイルが閉じられるため、取得されません。
「python manage.py flush」が他に何を期待しているかを把握し、それを入力に提供する必要があります。