История изменений
Исправление vodz, (текущая версия) :
local diag_menu=«»
Очищение в local — по умолчанию. А вообще, как-то странно Вы кодируете. Вот тоже самое на ash. Можете подумать, почему даже без башизмов тоже самое получается при желании короче и яснее.
#!/bin/ash
connect() {
local user=$1 pass=$2 i=1 diag_menu
while read ip; do
local "ip_$i=$ip"
diag_menu="$diag_menu $i $ip"
i=$(($i+1))
done < file_with_ips.txt
answer="$(dialog --stdout --backtitle SSH --menu Servers: $(($i+7)) 40 $i $diag_menu)"
if [ "$answer" ]; then
eval i=\$ip_$answer
sshpass -p "$pass" ssh -o StrictHostKeyChecking=no -X "$user@$i"
fi
}
connect USER PASSWORD
Исходная версия vodz, :
local diag_menu=«»
Очищение в local — по умолчанию. А вообще, как-то странно Вы кодируете. Вот тоже самое на ash. Можете подумать, почему даже без башизмов тоже самое получается при желании короче и яснее.
#!/bin/ash
connect() {
local user=$1 pass=$2 i=1 diag_menu
while read ip; do
local "ip_$i=$ip"
diag_menu="$diag_menu $i $ip"
i=$(($i+1))
done < file_with_ips.txt
answer="$(dialog --stdout --backtitle SSH --menu Servers: $(($i+7)) 40 $i $diag_menu)"
if [ "$answer" ]; then
eval i=\$ip_$answer
sshpass -p "$pass" ssh -o StrictHostKeyChecking=no -X "$user@$i"
fi
}
connect USER PASSWORD