Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用process builder读取read shell命令的输入消息_Java - Fatal编程技术网

Java 如何使用process builder读取read shell命令的输入消息

Java 如何使用process builder读取read shell命令的输入消息,java,Java,我试图使用process builder执行一个shell脚本。shell脚本使用“read”shell命令。但是当我检查shell脚本的输出流时,与“read”命令关联的输入消息丢失了。 shell脚本如下所示: #!/bin/bash # script.sh # This scripts has an input argument echo Hello World read -p "Enter something: " val1 echo Fi

我试图使用process builder执行一个shell脚本。shell脚本使用“read”shell命令。但是当我检查shell脚本的输出流时,与“read”命令关联的输入消息丢失了。 shell脚本如下所示:

    #!/bin/bash
    # script.sh
    # This scripts has an input argument
    echo Hello World
    read -p "Enter something: " val1
    echo First Name: $val1
    read -p "Enter something: " val2
    echo Last Name: $val2
    echo $val1 $val2 invoked $1
    echo  $1 "completed successfully"
    Hello World
    Enter something: albin
    First Name: albin
    Enter something: suresh
    Last Name: suresh
    albin suresh invoked install
    install completed successfully
    Hello World
    First Name: albin
    Last Name: suresh
    albin suresh invoked install
    install completed successfully
当我使用命令手动运行此脚本时

    ./script.sh install
终端上的输出如下所示:

    #!/bin/bash
    # script.sh
    # This scripts has an input argument
    echo Hello World
    read -p "Enter something: " val1
    echo First Name: $val1
    read -p "Enter something: " val2
    echo Last Name: $val2
    echo $val1 $val2 invoked $1
    echo  $1 "completed successfully"
    Hello World
    Enter something: albin
    First Name: albin
    Enter something: suresh
    Last Name: suresh
    albin suresh invoked install
    install completed successfully
    Hello World
    First Name: albin
    Last Name: suresh
    albin suresh invoked install
    install completed successfully
但是,当我使用process builder运行相同的命令时,输出中缺少“Enter something”命令。我得到的结果如下:

    #!/bin/bash
    # script.sh
    # This scripts has an input argument
    echo Hello World
    read -p "Enter something: " val1
    echo First Name: $val1
    read -p "Enter something: " val2
    echo Last Name: $val2
    echo $val1 $val2 invoked $1
    echo  $1 "completed successfully"
    Hello World
    Enter something: albin
    First Name: albin
    Enter something: suresh
    Last Name: suresh
    albin suresh invoked install
    install completed successfully
    Hello World
    First Name: albin
    Last Name: suresh
    albin suresh invoked install
    install completed successfully

为什么会发生这种情况?这些“输入内容:”消息将转到哪个流???

我尝试在谷歌上搜索bash
read
命令并获得以下链接:

-p提示符:在尝试读取任何输入之前,显示提示符,不带尾随换行符仅当输入来自终端时,才会显示提示。

显然,如果输入来自非终端,如示例中所示,则不会显示提示