代码之家  ›  专栏  ›  技术社区  ›  P i

无法使用`&`in.sh脚本作为httpie http请求的后台

  •  -1
  • P i  · 技术社区  · 6 年前

    这是从bash提示符开始工作的原因:

    /testproj> http http://localhost:5000/ping/ &
    [1] 10733
    (env)
    /testproj> HTTP/1.0 200 OK
    Content-Length: 2
    Content-Type: application/json
    Date: Sat, 17 Nov 2018 19:27:01 GMT
    Server: Werkzeug/0.14.1 Python/3.6.4
    
    {}
    

    …但在执行时失败 .sh :

    /testproj> cat x.sh
    http http://localhost:5000/ping/ &
    (env)
    /testproj> ./x.sh
    (env)
    /testproj> HTTP/1.0 405 METHOD NOT ALLOWED
    Allow: GET, HEAD, OPTIONS
    Content-Length: 178
    Content-Type: text/html
    Date: Sat, 17 Nov 2018 19:29:00 GMT
    Server: Werkzeug/0.14.1 Python/3.6.4
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
    <title>405 Method Not Allowed</title>
    
    
    
    <h1>Method Not Allowed</h1>
    <p>The method is not allowed for the requested URL.</p>
    

    ?

    编辑: http 是httpie

    编辑: type http 给予 http is hashed (/testproj/env/bin/http)

    编辑:只要 http http://www.google.com </dev/null & (谢谢@e36怪物)

    编辑:来自IRC上的E36Freak:

    这似乎是一个问题 stdin
    我也有同样的错误 http http://www.google.com </dev/null
    HTTP协议 欲望 斯坦丁 附属于 tty 看起来像
    不管什么原因
    在手册页上找不到,但我肯定在外面

    1 回复  |  直到 6 年前
        1
  •  1
  •   Jakub Roztocil    6 年前

    你最喜欢的需要包括 --ignore-stdin 阻止httpie尝试读取它的选项。见: https://httpie.org/doc#scripting

    推荐文章