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