だから、次の標準スクリプトがあります。
#!/bin/bash
PS3='Please enter your choice: '
options=("option 1" "Option 2" "Option 3" "Quit")
select opt in "${options[@]}"
do
case $opt in
"Option 1")
echo "you chose choice 1"
;;
"Option 2")
echo "you chose choice 2"
;;
"Option 3")
echo "you chose choice 3"
;;
"Quit")
break
;;
*) echo invalid option;;
esac
done
ただし、SSHを介してスクリプトを実行して「終了」オプションを選択すると、SSHも終了します。何が問題を引き起こす可能性がありますか?スクリプトを終了してSSHで作業を続けたいと思います。
問題は、以下で説明する.bash_aliasesファイルにあります。私はexec
台本の前に置いた。それを削除してコマンドを実行すると、すべてがうまくいきます。
ベストアンサー1
説明した動作によれば、次のようにスクリプトを実行するように聞こえます。
$ ssh remote picker.bash
はい
ssh
リモートシステムに接続すると、期待どおりに機能します。主にスクリプトが完了した後もリモートサーバーに残ります。
リモートコンピュータとラップトップという2台のコンピュータがあるとしましょう。ラッピーには「L」を、リモートには「R」を使用します。
L$ ssh remotey
R$ ./picker.bash
1) option 1
2) Option 2
3) Option 3
4) Quit
Please enter your choice: 4
R$
ssh
ただし、このようにスクリプトを実行すると、説明された端末が消える動作が発生します。
L$ ssh remotey ./picker.bash
1) option 1
2) Option 2
3) Option 3
4) Quit
Please enter your choice: 4
L$