die
Perl の機能に相当するシェル (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 1
2 番目の引数が欠落している場合1
と同じですFALSE
die() { }
古いものとして好まれますfunction die {}
perl
そうです) 。~/.bashrc
からsource ~/.bashrc
source ~/.bashrc
手動で配置できます。[[ $- == *i* ]]
対話型シェルにいるかどうかをテストします