كيفية تحذير لاستخدام المتغيرات ضبطه في السيناريو KornShell.
سؤال
هل هناك أي طريقة لرمي أخطاء أو تحذيرات في (KSH) النصي KornShell لمنع استخدام المتغيرات ضبطه؟ لنفترض لدي المجلد المؤقت الذي أريد إزالة.
TEMP_FILES_DIR='/app/myapp/tmp'
rm -Rf $TEMP_FILE_DIR #notice the misspelling
وكيفية الوقاية من هذا النوع من الأخطاء قبل وقوعها فعلا؟
وأنا أعلم أن السيناريو يجب التحقق من وجود الملف وسلسلة فارغة قبل محاولة إزالة، وهذا هو مجرد مثال سخيف لتوضيح الخطأ التي كان يمكن تجنبها مع بعض التحذيرات. أنا لا أعرف إذا كان وجود هذه الميزة في شلن كيني. إذا كان موجود، كيف يمكن تشغيله؟
المحلول
والأمر
set -u
هل تسبب POSIX <ط> ش (1) ومشتقاته لاحتج عندما تم إجراء محاولة لتوسيع متغير ضبطه.
مثال:
$ echo $foo $ set -u $ echo $foo sh: foo: parameter not set
نصائح أخرى
هل يمكن أن تحقق المتغير عن وجود المحتوى، أي عدم ''، والطباعة من رسالة مثل "متغير فارغ".
ومع ذلك، لا يزال لن إصلاح الأخطاء PEBCAK مثل هذا - كل ما تريد معرفته هو أن شيئا لم يحدث
لا تنتمي إلى StackOverflow