Дополнительно к "$@"
, что говорит Дуглас, я бы использовал
return $?
А не exit
. Это выйдет из вашей оболочки вместо возврата из функции. Если в тех случаях, когда вы хотите выйти из своей оболочки, если что-то пошло не так, вы можете сделать это в вызывающей стороне:
do_cmd false i will fail executing || exit
# commands in a row. exit as soon as the first fails
do_cmd one && do_cmd && two && do_cmd three || exit
(Таким образом, вы можете обрабатывать сбои и затем корректно завершать работу).