(اگر شما در جستجوی گزینه پردازش بودهاید، پرسش و پاسخ شماره ۳۵ را ملاحظه کنید.) در مورد توابع ذیل بارها در #bash سؤال شده است، بنابراین امیدواریم آنها برایتان مفید باشد.
## # warn: چاپ میکند stderr پیغامی در # warn "format" ["arguments"...] :طرز استفاده #warn() { local fmt="$1" shift printf "script_name: $fmt\n" "$@" >&2 } ### ### زیرین "die" سه تابع ### فوق "warn" بر اساس تابع ### ## # چاپ میکند stderr یک پیغام در : (نگارش ساده) die # .و با وضعیت خروج آخرین فرمان خارج میشود # # some_command || die "پیغام شما" ["arguments"...] :طرز استفاده #die () { local st="$?" warn "$@" exit "$st" } ## # stderr یک پیغام در : (نگارش وضعیت صریح) die # .چاپ میکند و با وضعیت معین شده خارج میشود # if فلان; then die status_code "پیغام" ["arguments"...]; fi : طرز استفاده #die() { local st="$1" shift warn "$@" exit "$st" } ## # stderr پیغامی در: (نگارش وضعیت اختیاری) die # چاپ میکند و با وضعیت خروج تعیین شده یا # .وضعیت خروج آخرین فرمان خارج میشود # some_command || die [status code] "message" ["arguments"...] :طرز استفاده #die() { local st="$?" if [[ "$1" != *[^0-9]* ]]; then st="$1" shift fi warn "$@" exit "$st" }
پرسش و پاسخ 101 (آخرین ویرایش 2013-08-27 00:04:03 توسط 162)