Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
2 / 2 / 0
Регистрация: 08.12.2011
Сообщений: 23

Syntax error: "then" unexpeted (expecting "done")

16.02.2012, 00:57. Показов 3894. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть скрип написанный на Shell

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
while true
do
a=$(ps -A | grep $2)
if [ $a != $2 ]
then
    echo "$2" not found
    if [ $(ps -A | grep gedit) != $b ]
    then /usr/bin/gedit
    fi
else
echo firefox has been found
killall $2
fi
sleep $1
done
запускаю его

sh kill 30 firefox

скрип должен удалить процесс, но выдает ошибку Syntax error: "then" unexpeted (expecting "done")
$1 - время ожидания
$2 - кого убить
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.02.2012, 00:57
Ответы с готовыми решениями:

Syntax error: end of file unexpected (expecting "fi")
Помогите разобраться, в чем ошибка Скрипт брал тут...

Syntax error: word unexpected (expecting "in")
Всем привет! Терминал выдаёт ошибку: check.sh: 3: check.sh: Syntax error: word unexpected (expecting "in") Код скрипта: ...

Syntax error: word unexpected (expecting ")")
Здравствуйте. Пытаюсь запустить исполняемый файл в Ubuntu через sh в терминале, исполняемый файл скомпилен через Free Pascal. И вот при...

6
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 830
Регистрация: 09.09.2009
Сообщений: 29,554
16.02.2012, 01:15
while [ условие ] do
действие
done
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.02.2012, 02:02
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
while true; do
    a=$(ps -A | grep $2)
    echo ".$a."
    if [ "$a" != "$2" ]; then
        echo "$2" not found
        if [ "$(ps -A | grep gedit)" != "$b" ]; then
            /usr/bin/gedit
        fi
    else
        echo firefox has been found
        killall $2
    fi
    sleep $1
done
Code
1
2
3
4
5
6
[guest@localhost tests]$ sh t2.sh 5 kwrite
. 3230 ?        00:00:05 kwrite
 4264 ?        00:00:00 kwrite.
kwrite not found
^C
[guest@localhost tests]$
Добавлено через 1 минуту
Цитата Сообщение от Dmitry Посмотреть сообщение
while [ условие ] do
Code
1
2
3
4
5
6
7
8
9
10
[guest@localhost ~]$ help while
while: while COMMANDS; do COMMANDS; done
    Execute commands as long as a test succeeds.
    
    Expand and execute COMMANDS as long as the final command in the
    `while' COMMANDS has an exit status of zero.
    
    Exit Status:
    Returns the status of the last command executed.
[guest@localhost ~]$
0
2 / 2 / 0
Регистрация: 08.12.2011
Сообщений: 23
16.02.2012, 07:30  [ТС]
Честно говоря ошибка не ушла
еще маленькое дополнение не только удалять, но еще и воскрешать процесс
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.02.2012, 08:13
Цитата Сообщение от mrqt Посмотреть сообщение
еще маленькое дополнение не только удалять, но еще и воскрешать процесс
у тебя сам скрипт неправильно составлен (сравнивает не то)

Добавлено через 2 минуты
Цитата Сообщение от mrqt Посмотреть сообщение
Честно говоря ошибка не ушла
перепиши внимательно
0
2 / 2 / 0
Регистрация: 08.12.2011
Сообщений: 23
16.02.2012, 09:20  [ТС]
Я сейчас даже не переписывал, а скопировал ошибка все равно есть может это еще с чемнибудь связано??

Добавлено через 26 минут
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# $1 - параметр содержащий имя проверяемого процесса
# $2 - параметр сожержащий время проверки
# $3 - параметр содержащий полный путь, имя и аргументы процесса
 
 
while true
do                  #бесконечный цикл
 
 
    PS=$(ps opid --no-heading -C $1)    #получаем список процессов
    echo $PS                #выводим найденный процесс
 
 
    if
        test $PS != ""  #если текущий параметр 0 => процесс мёртв
    then                    
        echo Клиент ещё жив!
        sleep $2
 
    else        #если параметр – pid= какое-то число - процесс жив
        
        echo Клиент мёртв! Воскрешаем!
        $3
        sleep $2
    fi
 
 
done
вот новый скрипт можете проверить работает ли он, но когда я задаю $3(путь для восстановления ) у меня пишет этот путь Permission denied


sh script programm 30 /home/name/Downloads/first
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.02.2012, 10:50
Bash
1
ls -l `which sh`
вывод покажи

Bash
1
ls -l /home/name/Downloads/first
вывод покажи
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.02.2012, 10:50
Помогаю со студенческими работами здесь

Ошибка Parse error: syntax error, unexpected '=', expecting ',' or ';' in /inc_db.php on
global $db = mysqli_connect('localhost','--------','------------')or die(mysql_error()); mysqli_select_db("--------",$db); ...

В чем ошибка (Parse error: syntax error, unexpected '$i' (T_VARIABLE), expecting ';') ?
private function select($table_name,$fields,$where="",$order="",$up=true,$limit="") { for(int $i=0; $i<count($fields); $i++){ ...

Ошибка Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRIN
При запуске локального сервера, выдает эту ошибку. Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING...

Исправить ошибку Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';'
Ошибка:Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in Z:\home\test1.ru\www\nomera.php on line 13 <?php ...

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting T_CASE or T_DEFAULT or '}'
пишу обычный свич который много раз писал $page="main"; switch($page){ "main": // <== 60 строка ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru