Ben*_*ey4 8 django bash prompt
根据这个关于管道输入的StackOverflow线程,运行echo "yes" | command应该传递yes给命令的第一个提示符.但是,echo "yes" | python manage.py flush会产生错误
EOFError: EOF when reading a line.
Run Code Online (Sandbox Code Playgroud)
msw*_*msw 23
我怀疑manage.py正在请求多行输入.有没有理由你不能使用
python manage.py flush --no-input
Run Code Online (Sandbox Code Playgroud)
有记录吗?
zeb*_*h49 12
阅读你的评论,似乎你想让第一个自动化,然后让它要求其余的.
您可能已经或可能没有从该链接中了解到这一点:
管理脚本要求输入stdin.Echo将其输出传递给它的标准输出,然后关闭.
你想将回显的'yes'传递给stdout,然后从键盘读取.
cat <(echo "yes") - | python manage.py
Run Code Online (Sandbox Code Playgroud)
将连接(从一个输出,然后是下一个)内容echo yes(假装它是一个文件),然后是stdin的内容.结果,您获得了第一个自动答案,然后是其余的提示.
请注意,您甚至可以多次执行此操作:
cat <(echo "yes") - <(echo "no") -
Run Code Online (Sandbox Code Playgroud)
将输出"是",然后输入您输入的内容,直到您以ctl-d结束,然后是"否",接着输入任何内容,直到您以ctl-d结束.
假设已安装yes命令(应该是),这将起作用:
yes yes | python manage.py flush
但是如前所述:
python manage.py flush --no-input
可能更好。
| 归档时间: |
|
| 查看次数: |
6640 次 |
| 最近记录: |