В bash, я хотел бы распространять код выхода конкретной команды, выполняемой в псевдониме, так что сам вызов alias вернет ее (выйдите с ней).bash: код выхода команды выхода, выполненный в псевдониме
Представьте себе следующий пример (Обратите внимание: команда не имеет никакого смысла, просто демонстрирует проблему я сталкиваюсь):
alias cda='cd \/a; exit_code=$?; echo "STATUS: $exit_code"; alias cdb='cd \/b'
cda && cdb
для меня нет таких каталогов, как: /a
и /b
, чтобы убедиться, что команды терпят неудачу. Я хотел бы выполнить cdb
псевдоним только в том случае, если выполнено одно из следующих действий: cda
. Однако, как echo
была последняя команда, и она закончилась exit
статус 0
=> оба выполнены
То, что я попытался это:
alias cda='cd \/a; exit_code=$?; echo "STATUS: $exit_code"; exit $exit_code'; alias cdb='cd \/b'
cda && cdb
однако это выходит из оболочки полностью => не представляется возможным для меня ,
Любая идея распространения статуса выхода (в моем случае $exit_code
) в качестве статуса выхода псевдонима?
спасибо за ответ, что сделал это для меня. остается только вопрос, если он достигнут исключительно через псевдоним или нет. –
@PeterButkovic Добавлено обновление для него. Пожалуйста, проверьте. – konsolebox
большое спасибо! оба решения работают! –