2013-05-02 65 views

回答

8

阅读您的评论,看起来你想让第一个自动化,然后让它请求休息。

您可能会或可能不会从该链接了解到这一点:

的管理脚本询问读取标准输入。 Echo将其输出传递给它的stdout,然后关闭。

你想传递回应'是'标准输出,然后从键盘读取。

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

将串联(输出一个,那么下)的的echo yes内容(假装这是一个文件),然后是标准输入的内容。因此,您会得到第一个自动答案,然后是其他提示。

请注意,你甚至可以做到这一点不止一次:

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

将输出“是”,然后不管你输入,直到你与CTL-d结束,其次是“没有”,随后无论你投入什么,直到你以ctl-d结束。

+0

谢谢,非常好的解释! – Bentley4 2013-05-02 21:33:19

1

最有可能的“蟒蛇manage.py刷新”预计额外的输入读书“是”,它没有得到后,因为“回声‘是’,”饰面和其输出文件关闭了。

你需要弄清楚还有什么“python manage.py flush”期望并提供它的输入。

+0

该命令输出2是/否提示。我不知道如果在一个命令中给出多个提示,如果只有一个输入提示是自动的,那么该命令就会失败。看起来合乎逻辑的是,它会输入一个提示并继续询问第二个提示。 “yes”或“no”是顺便提示的唯一的顺序。 – Bentley4 2013-05-02 19:40:05

+0

在这些情况下,“是”命令可能会有用。 – spbnick 2013-05-02 19:51:03

11

我怀疑manage.py正在请求多行输入。是否有理由不能使用

python manage.py flush --no-input 

as documented

+0

这并不直接回答我的问题,但它是我要使用的解决方案。 : ) 谢谢! – Bentley4 2013-05-02 19:41:54

+0

你有两个答案,直接说明你给我们的错误:它需要比你给的更多的输入。如果没有你的进一步信息,那就像任何人都能猜到的一样。 – msw 2013-05-02 20:32:48

+0

其他用户只是假设我想要两个提示,我没有问(yes除了zebediah49)。我只要求在第一个提示中自动输入。但是我可以更清楚明确地说我不想为我想的第二个提示进行自动化。不过,我很感激你的意见。 – Bentley4 2013-05-02 21:35:02

4

这将工作,假设安装yes命令(应该是): yes yes | python manage.py flush

但作为mentionned: python manage.py flush --no-input 可能是更好的。

+2

+1假定无限系列的“是”不吃他的CMS>。< – msw 2013-05-02 20:34:15

+0

我知道yes命令,但是我不能在这里使用它,因为我不想对第二个命令回答yes。但我可以提供这个信息,所以很抱歉。 – Bentley4 2013-05-02 21:22:18