代码之家  ›  专栏  ›  技术社区  ›  spraff

当我用echo而不是cat输入代码时,为什么python会立即退出?

  •  3
  • spraff  · 技术社区  · 7 年前
    #!/bin/bash
    
    echo "print('Hello 1')" | python3
    
    cat | python3 -u <<EOF
    print('Hello 2')
    EOF
    
    echo "print('Hello 3')" | python3
    

    Hello 1
    Hello 2
    

    它将等待我在打印最终版本之前按Enter键 Hello 3 -u

    为什么要这样做 cat echo

    1 回复  |  直到 6 年前
        1
  •  8
  •   Paul Hodges    6 年前

    cat | 然后再试一次。

    echo "print('Hello 1')" | python3
    python3 -u <<EOF
    print('Hello 2')
    EOF
    echo "print('Hello 3')" | python3
    

    <<EOF cat

    输入

    除此之外,您还可以使用here字符串,如下所示:

    python3 <<< "print('Hello 2')"