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