URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91534
[ Назад ]

Исходное сообщение
"Проверка выполнения предыдущей команды"

Отправлено opeth2009 , 06-Май-11 17:05 
Написал скрипт на bash

#!/bin/sh
scp -r /var/mailvirtual/foodline.ru/fax/outfax/* sysadmin@192.168.5.5:/storage/FAX/7334
if [$? -eq 0]; then rm -R -f /var/mailvirtual/foodline.ru/fax/outfax/*;
else echo "NONE"; fi


немогу понять не работает.
Цель такая - Если scp выполнилась успешно тогда и только тогда удалять все в каталоге outfax
Может есть другой способ?

Решил потестировать подругому

ls -l ;if [$? -eq 0]; then echo "OK"
else echo "NONE"; fi

получилось :

drwx------  6 postfix  postfix     512 22 апр 15:59 .Drafts
drwx------  6 postfix  postfix     512 22 апр 15:59 .Junk
drwx------  6 postfix  postfix     512 22 апр 15:59 .Sent
drwx------  6 postfix  postfix     512 22 апр 15:59 .Trash
drwx------  2 postfix  postfix     512  6 май 14:36 cur
drwxr-xr-x  2 root     postfix     512  6 май 15:55 infax
-rwxr-xr-x  1 root     postfix  246051  6 май 14:56 manuel4.jpg
drwx------  2 postfix  postfix     512  6 май 15:55 new
drwxrwxr-x  2 root     postfix     512  6 май 15:55 outfax
drwx------  2 postfix  postfix     512  6 май 15:54 tmp
[0: not found
NONE

Почему NONE ? Так быть не должно


Содержание

Сообщения в этом обсуждении
"Проверка выполнения предыдущей команды"
Отправлено artemrts , 06-Май-11 17:16 
> Написал скрипт на bash
> #!/bin/sh

Так на баше или на сш??


"Проверка выполнения предыдущей команды"
Отправлено Andrey Mitrofanov , 06-Май-11 17:26 
> #!/bin/sh
> scp -r /var/mailvirtual/foodline.ru/fax/outfax/* sysadmin@192.168.5.5:/storage/FAX/7334

scp -r .... host:/.... && rm -Rf .... || echo "NONE"

Почти то же.

> if [$? -eq 0]; then rm -R -f

.
> [0: not found

Вот это^^^ не смущает? А почему??

> Почему NONE ? Так быть не должно


"Проверка выполнения предыдущей команды"
Отправлено JohnProfic , 06-Май-11 17:26 
> [0: not found

ПРОБЕЛЫ
[ - это команда, а [0 это неизвестно что.


"Проверка выполнения предыдущей команды"
Отправлено LSTemp , 12-Май-11 03:25 
>[оверквотинг удален]
> 6 май 14:56 manuel4.jpg
> drwx------  2 postfix  postfix     512  
> 6 май 15:55 new
> drwxrwxr-x  2 root     postfix    
>  512  6 май 15:55 outfax
> drwx------  2 postfix  postfix     512  
> 6 май 15:54 tmp
> [0: not found
> NONE
> Почему NONE ? Так быть не должно

scp -r /var/mailvirtual/foodline.ru/fax/outfax/* sysadmin@192.168.5.5:/storage/FAX/7334 && echo "OK" || echo "FAIL"

а теперь то же самое но с заведомо ошибочными аргументами для команды.

кто знает какие scp коды возвращает? проверяй, учитывай... я в мане про коды возврата (прочитав наискосок) ничего не нашел.

PS
а без scp никак?



"Проверка выполнения предыдущей команды"
Отправлено artemrts , 12-Май-11 10:14 
>[оверквотинг удален]
>> drwx------  2 postfix  postfix     512
>> 6 май 15:54 tmp
>> [0: not found
>> NONE
>> Почему NONE ? Так быть не должно
> scp -r /var/mailvirtual/foodline.ru/fax/outfax/* sysadmin@192.168.5.5:/storage/FAX/7334
> && echo "OK" || echo "FAIL"
> а теперь то же самое но с заведомо ошибочными аргументами для команды.
> кто знает какие scp коды возвращает? проверяй, учитывай... я в мане про
> коды возврата (прочитав наискосок) ничего не нашел.

Хехе. А теперь давай построчно :)


"Проверка выполнения предыдущей команды"
Отправлено LSTemp , 15-Май-11 00:31 
>[оверквотинг удален]
>>> 6 май 15:54 tmp
>>> [0: not found
>>> NONE
>>> Почему NONE ? Так быть не должно
>> scp -r /var/mailvirtual/foodline.ru/fax/outfax/* sysadmin@192.168.5.5:/storage/FAX/7334
>> && echo "OK" || echo "FAIL"
>> а теперь то же самое но с заведомо ошибочными аргументами для команды.
>> кто знает какие scp коды возвращает? проверяй, учитывай... я в мане про
>> коды возврата (прочитав наискосок) ничего не нашел.
> Хехе. А теперь давай построчно :)

куда построчней уже?

проверь какой код scp возвращает при нормальном выполнении команды и какой при сбое:
scp ла-ла-ла; echo $?

возможно успешность выполнения данной команды придется анализировать не по коду возврата, а по каким-то другим косвенным признакам.



"Проверка выполнения предыдущей команды"
Отправлено LSTemp , 15-Май-11 00:34 
>[оверквотинг удален]
> scp -r /var/mailvirtual/foodline.ru/fax/outfax/* sysadmin@192.168.5.5:/storage/FAX/7334
> if [$? -eq 0]; then rm -R -f /var/mailvirtual/foodline.ru/fax/outfax/*;
> else echo "NONE"; fi
> немогу понять не работает.
> Цель такая - Если scp выполнилась успешно тогда и только тогда удалять
> все в каталоге outfax
> Может есть другой способ?
> Решил потестировать подругому
>  ls -l ;if [$? -eq 0]; then echo "OK"
> else echo "NONE"; fi

пробелы перед скобками

>[оверквотинг удален]
> 6 май 14:56 manuel4.jpg
> drwx------  2 postfix  postfix     512  
> 6 май 15:55 new
> drwxrwxr-x  2 root     postfix    
>  512  6 май 15:55 outfax
> drwx------  2 postfix  postfix     512  
> 6 май 15:54 tmp
> [0: not found
> NONE
> Почему NONE ? Так быть не должно


"Проверка выполнения предыдущей команды"
Отправлено Алекей , 05-Дек-13 08:09 
Проверка соответсвия кода, при успехе (0) - удаление файлов, при ошибке (1) - поражение.

result=$?
if [ $result=0 ]; then rm файлы;
else echo "ПОРАЖЕНИЕ!"; fi

у меня работает


"Проверка выполнения предыдущей команды"
Отправлено Алекей , 05-Дек-13 08:43 
> Проверка соответсвия кода, при успехе (0) - удаление файлов, при ошибке (1)
> - поражение.
> result=$?
> if [ $result=0 ]; then rm файлы;
> else echo "ПОРАЖЕНИЕ!"; fi
> у меня работает

result=$?
if [ $result -eq 0 ]; then rm /home/sspadmin/1/*;
else echo "ПОРАЖЕНИЕ!"; fi