5. کاراکترهای عام
اگر قبلاً با یونیکس کار کرده باشید ،کاراکترهای عام در حقیقت، چیز جدیدی نیستند.به هرحال، لزوماً چگونگی سودمندی آنها در اسکریپتهای پوسته، آشکار نمیباشد. این بخش درواقع فقط برای آن است که به سلولهای خاکستری قدیمی بگوید، که وقتی شما در اسکریپت پوسته میباشید، موضوعات چگونه به نظر میآیند - پیشبینی آن که اثر کاربرد ترکیبهای متفاوت چیست. این مورد بعداً در بخش حلقه ها به طور ویژهای به کار خواهد رفت.
اول فکر کنید که چطور تمام فایلها را از
/tmp/a
به /tmp/b
کپی خواهید نمود. همه فایلهای txt. یا همه فایلهای htm. را چطور؟
به طور امیدوارانهای، در انجام آن سربلند خواهید شد:
$ cp /tmp/a/* /tmp/b/حالا چطور فایلهای دایرکتوری
$ cp /tmp/a/*.txt /tmp/b/
$ cp /tmp/a/*.html /tmp/b/
/tmp/a/
را بدون کاربرد
ls /tmp/a/
لیست خواهید نمود؟
در مورد
echo /tmp/a/*
چطور؟ دو اختلاف اساسی خروجی آن با خروجی ls
چیست؟ چگونه میتواند مفید یا دستوپاگیر باشد؟
چطور میتوانستید تمام فایلهای txt. را تبدیل به فایلهای bak. کنید؟ توجه نمایید که
$ mv *.txt *.bak
تأثیر مطلوب را نخواهد داشت، فکر کنید، که این ترکیب چگونه قبل از ارسال به دستور mv
توسط شل بسطیافته خواهد شد.اگر کمک میکند، این مورد را با دستور echo
درعوض mv
بررسی کنید.
ما بعداً بیشتر به این مورد خواهیم پرداخت، چون از چند مفهومی که هنوز پوشش ندادهایم، استفاده میکند.
Steve Parker نوشته Bourne و Bash راهنمای آموزشی اسکریپت نویسی
ترجمه محمود پهلوانی
لطفاً برای بهتر دیدن صفحه از فایرفاکس استفاده کنید