当前位置:  开发笔记 > 编程语言 > 正文

Heredoc在码头工程师

如何解决《Heredoc在码头工程师》经验,为你挑选了1个好方法。

我基本上试图让Flask-migrate的shell使用Flask应用程序上下文执行heredoc

下面是我试图在我的bash脚本中运行的命令

$ docker exec -it mycontainer ./manage shell <<-EOF
    # shell commands to be executed
EOF

当我尝试执行上述命令时,我得到:

cannot enable tty mode on non tty input

这是管理文件:

#!/usr/bin/env python

from middleware import create_app, config
from middleware.models import db

from flask.ext.script import Manager
from flask.ext.migrate import Migrate, MigrateCommand


app = create_app(config)
migrate = Migrate(app, db)

manager = Manager(app)
manager.add_command('db', MigrateCommand)


if __name__ == '__main__':
    manager.run()

我的问题是有一种方法可以将像heredoc这样的命令传递给shell吗?



1> anubhava..:

-tdocker exec命令中删除选项以删除附加的pseudo-TTYOR使用--tty=false:

docker exec -i mycontainer ./manage shell <<-EOF
    # shell commands to be executed
EOF

要不然:

docker exec -i --tty=false mycontainer ./manage shell <<-EOF
    # shell commands to be executed
EOF

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有