2

プロセスビルダーを使用してシェルスクリプトを実行しようとしていました。シェル スクリプトは、'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:」メッセージはどのストリームに送信されますか??

4

1 に答える 1