كيفية تحذير لاستخدام المتغيرات ضبطه في السيناريو KornShell.

StackOverflow https://stackoverflow.com/questions/325424

سؤال

هل هناك أي طريقة لرمي أخطاء أو تحذيرات في (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 مثل هذا - كل ما تريد معرفته هو أن شيئا لم يحدث

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top