Вам необходимо распределение терминала на удаленной стороне:
ssh -t user@remote_host tail -f /some/file
или даже
ssh -tt user@remote_host tail -f /some/file
В моем случае я разобрался.
вроде @fra -Сан сказал, зачем использовать прецедент, а не просто распечатать его и спросить у пользователей.
Я только что использовал массив для отображения всех IP-адресов с дополнительным числом впереди, и когда они вводят число, оно соответствует числу в переменной, поэтому у меня есть ответ.
Если вы используетеbash
(или аналогичную оболочку):
ipnums=( 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 )
select ip in "${ipnums[@]}"; do
case $ip in
"") echo 'Invalid choice' >&2 ;;
*) break
esac
done
printf 'You picked IP %s\n' "$ip"
Это отобразит меню и подсказку, подобные этой:
1) 192.168.1.1
2) 192.168.1.2
3) 192.168.1.3
4) 192.168.1.4
#?
Подсказку можно изменить, установив PS3
на используемую строку подсказки.
Цикл select
проверяет ввод и повторяется до тех пор, пока от пользователя не будет получен допустимый ввод.
После цикла выбранный IP-адрес доступен в $ip
.
Если вы не хотите хранить свои адреса в массиве, вам придется вместо этого перечислить соответствующие переменные (это будет нелегко обобщить на N переменных,вот почему я предложил использовать массив в своем ответе на ваш другой вопрос):
select ip in "$ip1" "$ip2" "$ip3" "$ip4"; do...; done