Java 如何使用process builder读取read shell命令的输入消息
我试图使用process builder执行一个shell脚本。shell脚本使用“read”shell命令。但是当我检查shell脚本的输出流时,与“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
#!/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提示符:在尝试读取任何输入之前,显示提示符,不带尾随换行符仅当输入来自终端时,才会显示提示。
显然,如果输入来自非终端,如示例中所示,则不会显示提示