116
команда орындала алады, ал мәні оның қайтару кодымен тексеріледі.
Көбінесе бұндай команда ретінде жоғарыда қарастырылған test
команда қолданылады.
Мысалы, тапсырманың келесі фрагменті тапсырмада берілген
командалық жолақтың бірінші параметрі бос па соны тексереді. Егер,
бірінші параметр бос жолақ болса, тапсырмаға командалық жолақтың
бірде бір параметрі берілген жоқ деген хабарлама келеді және
тапсырманың орындалуы қайтару коды аяқталады. Мұндай тексерістің
ең оңтайлы түрі берілген параметрлер $# -eq 0 санын тексеру болып
табылады. Тапсырмада параметрлерді беру позициялық болғандықтан,
бірінші параметрдің бостығын тексеру рұқсат. Дегенмен мұндай
тексеріс алғашқы параметр ретінде бос жолақты көрсету кезінде де
жүзеге асады (экрандайтын таңбалар көмегімен – екі тырнақша):
test.sh "" A B
Екінші тексеріс берілген параметрлер санымен жұмыс жасайды —
егер олар үштен көп болса, сәйкес хабарлама шығады және
тапсырманың орындалуы 2 қайтару кодымен аяқталады:
if [ -z $1 ] ; then
echo "No command line parameters are specified"
exit 1
elif [ $# -gt 3 ]; then
echo "Too many parameters are specified"
exit 2 fi
Логикалық шарт циклды шектеуші ретінде де қолданыла алады.
Осылайша while ... do ... done конструкциясында, төменде келтірілген
синтаксис, логикалық өрнек шын болған кезде (0 тең) операторлар
блогы орындалады <операторлар>:
while <логикалық өрнек> ; do
<оператор>
done
Кодтың
келесі
фрагменті
тапсырмаға
берілген
барлық
параметрлерді шығарады. Оған қоса жоғарыда айтылып өткен shift
команданы қарастырылады. Циклдың орындалуы бірінші параметрдің
мәні бол болмағанша жалғаса береді. Сонымен бірге, айналымның әр
итерациясында параметрлер терезесінің ығысуы және оларды қайта
номерлеу болады (5.1-бөлімін қараңыз):
while [ ! -z $1 ] ; do
echo $1
|