آموزش‌های خط فرمانی

این وبلاگ تلاش می‌کند گامی در حد بضاعت در جهت آموزش خط فرمان و اسکریپت‌نویسی پوسته گنو-لینوکس بردارد.

آموزش‌های خط فرمانی

این وبلاگ تلاش می‌کند گامی در حد بضاعت در جهت آموزش خط فرمان و اسکریپت‌نویسی پوسته گنو-لینوکس بردارد.

بسط پارامترها در شل‌های قدیمی


چگونه می‌توانم اثرات بسط پارامترهای جالب Bash را درپوسته‌های قدیمی‌تر داشته باشم؟

اکثر بسط پارامترهای توسعه یافته، در پوسته قدیمی‌تر BourneShell کار نمی‌کنند. اگر لازم است کُد شما به خوبی قابل حمل به آن شل باشد، اغلب sed و expr می‌توانند استفاده شوند.

برای مثال، برای حذف قسمت پسوند از نام فایل:

for file in ./*.doc
do
   base=`echo "$file" | sed 's/\.[^.]*$//'` #شروع می‌شود ‎'.'‎ ‏‏ حذف  چیزی که با آخرین‎
   mv "$file" "$base".txt
done

یک مثال دیگر،این دفعه حذف آخرین کاراکتر از یک متغیر:

    var=`expr "$var" : '\(.*\).'`

یا(استفاده ازsed):

    var=`echo "$var" | sed 's/.$//'`

پرسش و پاسخ 74 (آخرین ویرایش ‎2009-09-15 18:06:54‎ توسط GreyCat)


نظرات 0 + ارسال نظر
ایمیل شما بعد از ثبت نمایش داده نخواهد شد