الگوهای
الگوهای استفاده شده توسط مورد همان مواردی هستند که توسط بسط نام مسیر استفاده می شوند. الگوها با کاراکتر ")" خاتمه می یابند. در اینجا چند الگوی معتبر وجود دارد:
جدول 31-1: نمونه های الگوی موردی
الگو و توضیحات
الگو و توضیحات
a) مطابقت دارد اگر کلمه برابر با "a" است.
[[:alpha:]]) مطابقت دارد اگر کلمه یک کاراکتر حروف الفبا است.
؟؟؟) مطابقت دارد اگر کلمه دقیقا سه کاراکتر است
*. txt) مطابقت دارد اگر کلمه با کاراکترهای ".txt" به پایان می رسد.
*) با هر مقداری مطابقت دارد کلمه. تمرین خوبی است که این را به عنوان آخرین الگو در الف قرار دهید مورد دستور، برای گرفتن هر مقدار از کلمه که با الگوی قبلی مطابقت نداشت. یعنی گرفتن مقادیر نامعتبر احتمالی.
در اینجا نمونه ای از الگوهای کار آمده است:
#! / bin / bash
read -p "ورد را وارد کنید > " مورد $REPLY در
[[:alpha:]]) echo "یک کاراکتر الفبایی منفرد است." ;; [ABC][0-9]) echo "A، B، یا C است که یک رقم به دنبال آن است." ;;
???) echo "سه کاراکتر طول دارد." ;;
*.txt) echo "کلمه ای است که به ".txt" ختم می شود" ;;
*) echo "چیز دیگری است." ;; اساک
#! / bin / bash
read -p "ورد را وارد کنید > " مورد $REPLY در
[[:alpha:]]) echo "یک کاراکتر الفبایی منفرد است." ;; [ABC][0-9]) echo "A، B، یا C است که یک رقم به دنبال آن است." ;;
???) echo "سه کاراکتر طول دارد." ;;
*.txt) echo "کلمه ای است که به ".txt" ختم می شود" ;;
*) echo "چیز دیگری است." ;; اساک
همچنین می توان چندین الگو را با استفاده از کاراکتر نوار عمودی به عنوان جداکننده ترکیب کرد. این یک الگوی شرطی "یا" ایجاد می کند. این برای مواردی مانند مدیریت حروف بزرگ و کوچک مفید است. مثلا:
#! / bin / bash
# case-menu: یک برنامه اطلاعات سیستم مبتنی بر منو پاک می شود
پژواک"
لطفا انتخاب کنید:
A. نمایش اطلاعات سیستم
B. نمایش فضای دیسک
C. نمایش استفاده از فضای خانه
Q. ترک "
خواندن -p "انتخاب را وارد کنید [A، B، C یا Q] > "
مورد $REPLY در
س|س) echo "برنامه پایان یافت." خروج
;;
الف|الف) بازتاب "Hostname: $HOSTNAME" uptime
;;
ب|ب) DF -H
;;
ج|ج) اگر [[ $(id -u) -eq 0 ]]; سپس
echo "استفاده از فضای خانه (همه کاربران)" du -sh /home/*
دیگر
echo "استفاده از فضای خانه ($USER)" du -sh $HOME
fi
#! / bin / bash
# case-menu: یک برنامه اطلاعات سیستم مبتنی بر منو پاک می شود
پژواک"
لطفا انتخاب کنید:
A. نمایش اطلاعات سیستم
B. نمایش فضای دیسک
C. نمایش استفاده از فضای خانه
Q. ترک "
خواندن -p "انتخاب را وارد کنید [A، B، C یا Q] > "
مورد $REPLY در
س|س) echo "برنامه پایان یافت." خروج
;;
الف|الف) بازتاب "Hostname: $HOSTNAME" uptime
;;
ب|ب) DF -H
;;
ج|ج) اگر [[ $(id -u) -eq 0 ]]; سپس
echo "استفاده از فضای خانه (همه کاربران)" du -sh /home/*
دیگر
echo "استفاده از فضای خانه ($USER)" du -sh $HOME
fi
;;
*) بازتاب "ورود نامعتبر" >&2 خروج 1
;;
که C
;;
*) بازتاب "ورود نامعتبر" >&2 خروج 1
;;
که C
در اینجا، ما را اصلاح می کنیم منوی مورد برنامه ای برای استفاده از حروف به جای اعداد برای انتخاب منو. توجه کنید که چگونه الگوهای جدید اجازه ورود حروف بزرگ و کوچک را می دهند.