Написал скрипт на 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 ? Так быть не должно
> Написал скрипт на bash
> #!/bin/shТак на баше или на сш??
> #!/bin/sh
> scp -r /var/mailvirtual/foodline.ru/fax/outfax/* sysadmin@192.168.5.5:/storage/FAX/7334scp -r .... host:/.... && rm -Rf .... || echo "NONE"
Почти то же.
> if [$? -eq 0]; then rm -R -f
.
> [0: not foundВот это^^^ не смущает? А почему??
> Почему NONE ? Так быть не должно
> [0: not foundПРОБЕЛЫ
[ - это команда, а [0 это неизвестно что.
>[оверквотинг удален]
> 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 никак?
>[оверквотинг удален]
>> 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 коды возвращает? проверяй, учитывай... я в мане про
> коды возврата (прочитав наискосок) ничего не нашел.Хехе. А теперь давай построчно :)
>[оверквотинг удален]
>>> 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 $?возможно успешность выполнения данной команды придется анализировать не по коду возврата, а по каким-то другим косвенным признакам.
>[оверквотинг удален]
> 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 ? Так быть не должно
Проверка соответсвия кода, при успехе (0) - удаление файлов, при ошибке (1) - поражение.result=$?
if [ $result=0 ]; then rm файлы;
else echo "ПОРАЖЕНИЕ!"; fiу меня работает
> Проверка соответсвия кода, при успехе (0) - удаление файлов, при ошибке (1)
> - поражение.
> result=$?
> if [ $result=0 ]; then rm файлы;
> else echo "ПОРАЖЕНИЕ!"; fi
> у меня работаетresult=$?
if [ $result -eq 0 ]; then rm /home/sspadmin/1/*;
else echo "ПОРАЖЕНИЕ!"; fi