پرسش و پاسخ شماره ۷۴ - آموزش اسکریپت نویسی
X
تبلیغات
رایتل

آموزش اسکریپت نویسی

آموزش اسکریپت نویسی پوسته گنو-لینوکس

#!/bin/bash

پرسش و پاسخ شماره ۷۴

پرسش و پاسخ شماره ۷۴

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