Друзья, подскажите по такой теме. Скрипты sh, кто силен?
Есть необходимость на маке (os x lion) запускать скрипт перезагрузки dsl-модема, который периодически теряет тырнет и не восстанавливает подключение, помогает только перезагрузка.

Написал скрипт, который должен периодически проверять пинг до внешнего хоста, если все ок - прекращает работу, если пинга нет - коннектится по телнету к модему и делает reboot.
#!/bin/sh
PINGADRESS=adress.ru
if ping -c 4 $PINGADRESS | grep 'bytes from' ; then exit
else expect -c "
spawn telnet $1192.168.1.1
sleep 3
expect \"Login:\"
send \"admin\r\"
sleep 3
expect \"Password:\"
send \"123456\r\"
sleep 3
expect "%"
send \"reboot\r\"
expect "%"
send "exit"
expect eof
"
fi

Так вот в чем проблема: если я запускаю интерактивно (вручную на компе) исполняемый файл *.sh, в котором записан скрипт, открывается терминал и выводится ход работы процесса. Интерактивно все работает как и задумано: пинг есть -выходим, пинга нет - коннект по телнету - reboot -выходим.

Но, стоит повесить запуск исполняемого файла для запуска по расписанию в cron, работает не так как задумано, т.е. reboot происходит всегда, каждый запуск скрипта вызывает перезагрузку модема, независимо от того есть ли тырнет или нет.

Что делаю не так, может запятой где в скрипте не хватает))?
Заранее, спасибо за совет.

2

А как вы его в cron'e запускаете:

sh script.sh

или

/path/script.sh

?

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

3

Второй вариант

/path/script.sh

4

ну так как? никто не поможет?