[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

шелл-скрипт квесчн.



>>   if test "$error" = 1; then ...
>  Вот сразу видно, что ты даже не пробовал запускать.
>  Во-первых ошибка синтаксическая, во-вторых, команда перед перед пайпом
>  запустится в сабшелле и после пайпа error будет неопределен.
ну синтаксическая ошибка оно и понятно, прямо тут написал: точку с
запятой забыл:)

а про сабшелл я как-то и не подумал

если информация передаваемая в пайпе текстовая, то можно
сгородить что-то вроде того:

{ cmd1 && echo error=0 || echo error=1; } |

дальше выдрать последнюю строку перед тем как ее кормить cmd2
но тоже чет сложновато

cmd1 > $TEMP_FILE || error=1
cat $TEMP_FILE|cmd2
rm -f $TEMP_FILE
exit $error

самое простое наверное :)

извините за неправильный ответ, неподумавши получилось :(



Reply to: