[freebsd] exit utility
Eugene Grosbein
eugen at grosbein.net
Fri Feb 9 03:02:31 EET 2018
09.02.2018 3:02, Valentin Nechayev пишет:
> Thu, Feb 08, 2018 at 21:48:25, spell wrote about "[freebsd] exit utility":
>
>> В процессе скриптописания возникла надобность в утилите, подобной
>> true/false, только с заданным значением кода выхода (пока обошлась
>> вызовом "sh -c 'exit 123'").
>> Если такая есть, просто ткните в неё, плиз.
>> Если нету, скажите что это блажь, и суровые шелл-программисты вызывают
>> целый шелл ради экситкода и не заморачиваются.
>
> Метод 1 (кажется, самый эффективный)
>
> $ set_status() { return $1; }
> $ set_status 26
> $ echo $?
> 26
+1
Только я бы обозвал функцию fail для похожести на true/false:
#!/bin/sh
fail() { return $1; }
# высосанный из пальца пример использования
while :
do
if echo content > file; then
...
else
fail 74 # EX_IOERR
fi
done
Только вот зачем это всё? Любой shell-скрипт можно завершить непосредственно
командой exit с нужным кодом без вызова "утилиты", а функцию в нём командой return.
More information about the freebsd
mailing list