LINUX.ORG.RU

Возвращаемые значения в шелле.


0

0

Допустим есть 2 шелловские функции func_1 и func_2.

Мне нужно сделать так чтобы я мог написать пайплайн:

some_command | func_1 | func_2

но при этом код возврата был тот что вернул func_1.

Понятно, что манипуляции с $? внутри func_2 бессмысленны..

★★★★★

пока я сделал новую функцию:

func_1_and_func_2()
{
    { func_1; RV=$?; } | func_2
    return $RV
}

dilmah ★★★★★
() автор топика
Ответ на: комментарий от K_X_XyHTA

> Не подойдёт?

ну да.. func_1_and_func_2 примерно так же работает.

Я просто сперва надеялся что можно так хитро написать func_2 чтобы он "не портил" возвращаемое значение func_1, но видимо это невозможно.

dilmah ★★★★★
() автор топика
Ответ на: Для bash-а от DonkeyHot

$ uname -a
SunOS suntracker 5.6 Generic_105181-34 sun4u sparc SUNW,Ultra-5_10

мы башем не пользуемся..  Только стандартный шелл.

dilmah ★★★★★
() автор топика
Ответ на: комментарий от dilmah

>SunOS suntracker 5.6 Generic_105181-34 sun4u sparc SUNW,Ultra-5_10

Ну, тогда gunzip | tar xf - && less bash*/INSTALL :-). В системе уже есть тысячи полторы разних программок и утилит. Почему бы не поставить еще одну?

DonkeyHot ★★★★★
()
Ответ на: комментарий от dilmah

Один раз собрать статический баш и поставить всем в известное место. #!/известное/место/bash вначале "простые" кастомеры не заметят, а "навороченые" уже все равно себе его поставили с большой вероятностью.

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