LINUX.ORG.RU

zsh, хочется странного

 , ,


0

1

Вот какую ни будь команду или опцию, которая при включении проверяла бы код возврата каждой введённой команды, и выполняла заданный скрипт в случае если он отличен от нуля, например, подавала звуковое оповещение. Но не так что бы прописывать это вручную в каждом скрипте, а где-то прямо в опциях шелла. Что то вроде:

set beep on
/* запускаем какой ни будь длинный скрипт, идём пить чай */
set beep off
/* работаем дальше без звуков */
Например, для операций копирования/архивирования больших объёмов, обработки данных и пр.

★★★★★

Последнее исправление: thunar (всего исправлений: 1)
Ответ на: комментарий от gnu_linux

предполагаю что это маловероятно возможно, т.к. я в отпуске.

etwrq ★★★★★
()

Думаю что если этот ваш zsh не полное гавно, то там есть аналог trap.

pon4ik ★★★★★
()

Таки да, пример то:

trap  '[ "$?" != 0 ] && echo beep' SIGCHLD
pon4ik ★★★★★
()
Последнее исправление: pon4ik (всего исправлений: 2)
Ответ на: комментарий от rassol

Если не интересует код возврата, то можно и так (это нужно в .zshrc добавить):

precmd() { [[ $? != 0 && $beep == on ]] && echo rassol }
rassol
()

вообще это возможно, но у меня, из-за кривых рук, работает только в нулёвой конфигурации, типа:

$ cd /writable/dir/without/zshdotfiles
$ echo > .zshrc
$ ZDOTDIR=. zsh
% PS1='$ '
$ TRAPZERR() {echo Exit code: $?}     # <-- this
$ (exit 0)
$ (exit 1)
Exit code: 1
$ (exit 2) || echo Failed.
Failed.

функция вызывается при ненулевом коде возврата

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