diePerl の機能に相当するシェル (bash または zsh のいずれか) はありますか?
終了コードを設定し、メッセージを 1 行で出力したいと考えています。独自の単純な関数を作成できることはわかっていますが、組み込みを望んでいます。
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 12 番目の引数が欠落している場合1と同じですFALSEdie() { }古いものとして好まれますfunction die {} perlそうです) 。~/.bashrcからsource ~/.bashrcsource ~/.bashrc手動で配置できます。[[ $- == *i* ]]対話型シェルにいるかどうかをテストします