LINUX.ORG.RU

Скрипт не работает...


0

0

---------------BEGIN-------------------- while sleep 10 do if ping -q -c 2 192.168.0.50 >> /dev/null; then if [ $s = 0 ] then echo YES | xmessage -file - -center -buttons Ok:1 -font '-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-koi8-u' -fg yellow -bg navy & fi s = 1 else if [ $s = 1 ] then echo NO | xmessage -file - -center -buttons Ok:1 -font '-microsoft-tahoma-medium-r-normal-*-*-120-*-*-p-*-koi8-u' -fg yellow -bg navy & fi s = 0 fi done -------------END-------------------------------- bash# cd bin bash# ./script ./pwait: line 12: [: =: unary operator expected ./pwait: line 16: s: command not found

anonymous

Во-первых, не вредно код форматировать, особенно когда ссылки есть на номера строк. Во вторых,

if [ $s = 0 ]

Вопрос на засыпку: что такое 's' в этот момент?

В третьих,

s = 1

не есть присвоение 1 переменной, а вызов команды 's' с двумя аргументами '=' и '1'. Присвоение пишется без пробелов: s=1

vnp
()
Ответ на: комментарий от anonymous

> 1)Наверное, '', что !=0

Не вполне. Ее просто нет. Команда '[' видит первым аргументом "=", и,
естественно, недовольна.

 

vnp
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.