Mutagena 16.04.2012 18:03

Есть вопрос!Передача по pipe

Здравствуйте.
Есть один sh скрипт. В зависимости от того, как он отработает, дальше должны запуститься разные скрипты.
Можно ли как-нибудь это сделать с использованием кода возврата? Например, если епрвый скрипт вернул один код возврата, вывод первого скрипта скармливается второму скрипту, а если вернул другой код возврата - то третьему.


Тэги: bash коды возврата
+ 0 -
Похожие Поделиться

sakal 16.04.2012 18:42 #
1
2
3
4
5
6
7
external_tool_call
EXIT_CODE = $? # save exit code for future use
if [ "1" -eq "$EXIT_CODE" ]; then
some_command1
elif [ "2" -eq "$EXIT_CODE"]; then
some_command2
fi

ascrazy 16.04.2012 19:15 #
с передачей STDOUT в STDIN
1
2
3
4
5
6
7
OUT=$(perl -e 'print "Hello world!" and exit int rand 2')
EXIT_CODE=$?
if [ "1" -eq "$EXIT_CODE" ]; then
echo $OUT | perl -e 'print "OK: ", $a = <stdin>'
elif [ "0" -eq "$EXIT_CODE" ]; then
echo $OUT | perl -e 'print "FAIL: ", $a = <stdin>'
fi

Mutagena 16.04.2012 20:46 #
спасибо :)
elbahek 17.04.2012 23:38 #
или даже так
1
main_script.sh && success_script.sh || fail_script.sh