他のスクリプトのメニューを使用してスクリプトを呼び出す方法

他のスクリプトのメニューを使用してスクリプトを呼び出す方法

Operation.shというスクリプトがあり、スクリプトを実行すると、次のような出力が表示され、ユーザー入力を待ちます。

 1. Start
 2. Restart
 3. Stop
 4. Status
 Enter Option: 

「1」を押すと、いくつかのロジックが実行され、上記のビューに再び表示されます。

たとえば、別のsh(other.shなど)からOperation.shを呼び出す必要があります。

 sh other.sh

Operation.shで1を押すのと同じロジックを実行する必要があります。

other.shには次の内容があります。

sh operation.sh 1

言葉にならないという点は理解しています(でも何の考えもなかったので試してみました)。

別のスクリプトからメニュースクリプトを呼び出す方法(ユーザーが選択したメニューに従って操作を実行するため)

答え1

#!/bin/sh 

OPC1() {
echo "Opcion 1"
}

OPC2() {
echo "Opcion 2"
}

SELECCIONA() {
if ( test $opc -eq 1 )
then
     OPC1
else
     OPC2
fi
}

#### MAIN ##########

opc=$1

if [ $1 ]
then
    SELECCIONA
else
    echo "1. start "
    echo "2. stop "
    echo "0. salir "
    read opc
    SELECCIONA
fi

答え2

echo -e "1\n2"スクリプトにパイピングを試してみてください。\n次の文字列にメニュー応答をnewline()で区切って入れるだけです-e

echo -e "1\n2" | operation.sh

別のオプションは、テキストファイルの各行に順番に応答を配置することです。その後、ファイルをcatしてスクリプトにパイプすることができます。

cat responses.txt | operation.sh

関連情報