プロセスビルダーを使用してシェルスクリプトを実行しようとしていました。シェル スクリプトは、'read' シェル コマンドを使用します。しかし、シェル スクリプトの出力ストリームを確認すると、「読み取り」コマンドに関連付けられた入力メッセージがありません。シェルスクリプトは次のとおりです。
#!/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"
コマンドを使用してこのスクリプトを手動で実行すると
./script.sh install
端末の出力は次のとおりです。
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
なぜこれが起こっているのですか?「Enter something:」メッセージはどのストリームに送信されますか??