یک اسکریپت wrapper یکی از معمولترین موارد استفاده برای اسکریپت پوسته است. کار یک wrapper به جای تلاش برای دوباره پیادهسازی قابلیت یک ابزار موجود، انتقال دادن ورودیهایش همراه با تغییر و تبدیل اندک به برخی ابزارهای دیگر است. این مورد، مقدار قابل توجهی از زحمت و دردسر را کاهش میدهد.
اصلیترین شکل یک اسکریپت wrapper این است:
#!/bin/sh exec /some/weird/place/toolname ${1+"$@"}
به طور کلی، موقع نوشتن یک wrapper، ما قابلحملترین ترکیب دستوری ممکن را به کار میبریم. اگر تمام آنچه میخواهیم انجام بدهیم، انتقال دادن ورودیها به برخی برنامههای دیگر است، معمولاً به کد تجملی، مختص-پوسته یا مختص-پلاتفرم نیازی نیست. در حقیقت، شاید کد فوق میتوانست با یک پیوند نمادین جایگزین شده باشد. یک اسکریپت wrapper کمی واقعگرایانهتر، میتواند مانند این به نظر آید:
#!/bin/sh CDR_SECURITY=8:dvd,clone,.... export CDR_SECURITY exec cdrecord-prodvd ${1+"$@"}
این wrapper یک متغیر محیط را تنظیم میکند، و سپس یک برنامه دیگر را با همان شناسهها و ورودی که اسکریپت wrapper دریافت کرده، فراخوانی میکند.
ادامه مطلب