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

Shell如何只将一些用户输入传递给脚本?

  •  0
  • Rosey  · 技术社区  · 1 年前

    如果我有一个非常简单的shell脚本,如下所示:

    echo "thing 1?"
    read input1
    echo $input1
    
    echo "thing 2?"
    read input2
    echo $input2
    

    我如何在只提供1个用户输入的情况下调用脚本/命令,同时允许任何后续的读取调用提示我的终端?我一直在做 printf "foo\n" | sh myscript.sh 它确实在第一次读取时传递,但当它到达第二次读取时,脚本只是退出,而不是提示用户。

    1 回复  |  直到 1 年前
        1
  •  1
  •   KamilCuk    1 年前

    使用 cat 从标准输入读取。

    ( echo foo; cat ) | sh myscript.sh