منبع اصلی نوشتار زیر در این لینک قرار دارد

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


چگونه می‌توانم اثرات بسط پارامترهای جالب 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)