根據this StackOverflow thread about piping input,運行echo "yes" | command
應將yes
傳遞給命令的第一個提示。然而,echo "yes" | python manage.py flush
產生錯誤如何將'yes'傳遞給python manage.py flush?
EOFError: EOF when reading a line.
根據this StackOverflow thread about piping input,運行echo "yes" | command
應將yes
傳遞給命令的第一個提示。然而,echo "yes" | python manage.py flush
產生錯誤如何將'yes'傳遞給python manage.py flush?
EOFError: EOF when reading a line.
閱讀您的評論,看起來你想讓第一個自動化,然後讓它請求休息。
您可能會或可能不會從該鏈接瞭解到這一點:
的管理腳本詢問讀取標準輸入。 Echo將其輸出傳遞給它的stdout,然後關閉。
你想傳遞迴應'是'標準輸出,然後從鍵盤讀取。
cat <(echo "yes") - | python manage.py
將串聯(輸出一個,那麼下)的的echo yes
內容(假裝這是一個文件),然後是標準輸入的內容。因此,您會得到第一個自動答案,然後是其他提示。
請注意,你甚至可以做到這一點不止一次:
cat <(echo "yes") - <(echo "no") -
將輸出「是」,然後不管你輸入,直到你與CTL-d結束,其次是「沒有」,隨後無論你投入什麼,直到你以ctl-d結束。
最有可能的「蟒蛇manage.py刷新」預計額外的輸入讀書「是」,它沒有得到後,因爲「回聲‘是’,」飾面和其輸出文件關閉了。
你需要弄清楚還有什麼「python manage.py flush」期望並提供它的輸入。
謝謝,非常好的解釋! – Bentley4 2013-05-02 21:33:19