Saadine Brahim نشر 8 يونيو 2015 أرسل تقرير نشر 8 يونيو 2015 ماهي أفضل وسيلة لإجراء اختبار على قيمة متغير في Bash لمعرفة هل المتغير فارغ (أي أن قيمته هي "")؟ اقتباس
1 محمد أحمد العيل نشر 8 يونيو 2015 أرسل تقرير نشر 8 يونيو 2015 توجد ثلاث حالات للمتغيّرات في Bash:- متغيّر غير معرَّف (لم تُعطَ له قيمة)- متغيّر معرَّف وقيمته سلسلة محارف خاويّة (طولها يُساوي صفرًا)- متغيّر معرَّف وقيمته سلسلة محارف غير خاويّة (طولها يُساوي واحدًا أو أكثر).إذا كنت لا تهتمّ بالتفريق بين ما إذا كان المتغيّر غير معرَّف وما إذا كان فارغًا يُمكن استخدام الصّيغة (الاختبار صحيح في الحالتين الأولييْن):if [ -z "$var" ]أمّا إذا كنت تهتم بالتّفريق بين الاثنين فاستخدم الاختبار التّالي لمعرفة هل المتغيّر معرَّف (الاختبار صحيح إذا كان المتغير غير معرّف): if [ -z ${var+x} ]الاختبار التّالي صحيح إذا كان المتغيّر معرّفًا وقيمته فارغة (لاحظ الفرق بين الاثنين، علامة - بدلا من +):if [ -z ${var-x} ]وبالنّسبة للحالة الأخرى (معرَّف وقيمته سلسلة محارف غير فارغة): if [ -n "$var" ]سكربت قصير لتجربة هذه الحالات الأربع على التّوالي: #!/bin/bash VAR="VARIABLE" echo "$VAR" if [ -z "${VAR}" ]; then echo "VAR is unset or set to the empty string" fi if [ -z "${VAR+set}" ]; then echo "VAR is unset" fi if [ -z "${VAR-set}" ]; then echo "VAR is set to the empty string" fi if [ -n "$VAR" ]; then echo "VAR is set to a non emty string" fiجرّب قيّمًا عدّة للمتغيّر VAR (أعطه قيمة فارغة مرة، واحذفه مرة وأعطه قيمة غير فارغة مرة). 1 اقتباس
السؤال
Saadine Brahim
ماهي أفضل وسيلة لإجراء اختبار على قيمة متغير في Bash لمعرفة هل المتغير فارغ (أي أن قيمته هي "")؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.