die
Perl 的函数是否有等效的 shell(在 bash 或 zsh 中) ?
我想设置退出代码并在一行中打印一条消息。我知道我可以制作自己的简单功能,但我有点希望内置。
不,你需要两者
echo
和exit
只需制作这样的shell
功能:
die() {
[[ $1 ]] || {
printf >&2 -- 'Usage:\n\tdie <message> [return code]\n'
[[ $- == *i* ]] && return 1 || exit 1
}
printf >&2 -- '%s' "$1"
exit ${2:-1}
}
例子
die "Oops, there's something wrong!\n" 255
解释
${2:-1}
是一个 bash参数扩展:exit 1
如果缺少第二个参数1
与FALSE
(1 => 255)相同die() { }
首选旧的function die {}
perl
做)~/.bashrc
然后source ~/.bashrc
source ~/.bashrc
在你的脚本中或者手动放置。[[ $- == *i* ]]
测试您是否在交互式外壳中