بش اسکریپت

دستور case

در بش هم دستور شرطی case وجود دارد بیشتر برای این استفاده می شود که شما شرطی قرار بدید و چک کنید و عمل رو انجام بدید و بعد از انجام عمل از کل چرخه بریک کنید و بیرون بیاید.

ساختار case به صورت زیر است:


case expression in
pattern1 )
statements ;;
pattern2 )
statements ;;

esac

در اینجا دستور case نوشته شده experssion یعنی همون متغییر یا مقدار یا ورودی که باید چک شود.

در قسمت بعد pattern1 یعنی شرط اول ما برای مثال اگر ورودی ما 11 بود چک می کند.

درقسمت بعد statements دستوراتی که باید اجرا شوند اگر case ما درست بود.

و در اخر ;; که همون break هست.

مثال برنامه زیر:


#!/bin/sh

echo “Please talk to me …”

read INPUT_STRING
case $INPUT_STRING in
hello)
echo “Hello yourself!”
;;
bye)
echo “See you again!”
break
;;
*)
echo “Sorry, I don’t understand”
;;
esac

برنامه بالا از کاربر یک حرف درخواست می کند اگر کاربر hello رو ارسال کند Hello yourself اجرا می شود اگر bye رو ارسال کند see you again ارسال می شود.

دقت کنید در قسمت اخر * در گنو لینوکس به معنی انتخاب همه هست در مورد سوم یعنی هرچیزی جز اون 2 وارد شود Sorry, I don’t understand اجرا خواهد شد.
و کیس در اخر با دستور case بسته خواهد شد.

#Bash

دیدگاه شما

نشانی ایمیل شما منتشر نخواهد شد.