shar(1) User Commands shar(1)

shar - ایجاد آرشیو شل (shell archive)

shar [-flags] [-flag [value]] [--option-name[[=| ]value]] [<file>...]

اگر هیچ fileی مشخص نشود، فهرست فایل‌های ورودی از ورودی استاندارد خوانده می‌شود. ورودی استاندارد نباید یک پایانه باشد.

برنامهٔ shar «آرشیوهای شل» (یا فایل‌های shar) ایجاد می‌کند که در قالب متنی هستند و می‌توان آن‌ها را از طریق رایانامه (ایمیل) ارسال کرد. این فایل‌ها می‌توانند بعداً با اجرا شدن از طریق /bin/sh باز شوند. آرشیو حاصل به خروجی استاندارد فرستاده می‌شود، مگر اینکه گزینهٔ -o مشخص شده باشد. طیف گسترده‌ای از ویژگی‌ها انعطاف‌پذیری بالایی را در تولید فابل‌های shar و در تعیین میزان «هوشمندی» shar فراهم می‌کنند. آرشیوها می‌توانند کاملاً ساده باشند (--vanilla-operation) یا اساساً یک آرشیو tar قابل ارسال با ایمیل باشند.

گزینه‌ها ممکن است به هر ترتیبی تا قبل از شناخته‌شدن یک آرگومان file مشخص شوند. اگر گزینهٔ --intermix-type مشخص شده باشد، گزینه‌های فشرده‌سازی و کدگذاری بیشتری در بین آرگومان‌های file شناسایی خواهند شد.

اگرچه این برنامه از فایل‌های با کدگذاری uuencode پشتیبانی می‌کند، اما آن‌ها منسوخ شده‌اند. اگر فایل‌ها را با رایانامه ارسال می‌کنید، لطفاً فایل‌های با کدگذاری mime را در نظر بگیرید. اگر از uuencode استفاده می‌کنید، base64 روش کدگذاری ترجیحی است.


تعیین فشرده‌سازی برای فایل‌های ورودی. این گزینه نباید در ترکیب با هیچ‌یک از گزینه‌های زیر استفاده شود: vanilla-operation.

اجازه دادن به گزینه‌های پارامتر موضعی (positional). گزینه‌های روش فشرده‌سازی و روش کدگذاری می‌توانند با نام‌های فایل‌ها ترکیب شوند. فایل‌هایی که نام آن‌ها پس از این گزینه‌ها مشخص شود، به روش تعیین‌شده پردازش خواهند شد.


تعیین برنامهٔ فشرده‌ساز (compactor). این گزینه می‌تواند به تعداد نامحدود تکرار شود. این گزینه نباید در ترکیب با هیچ‌یک از گزینه‌های زیر استفاده شود: vanilla-operation.

دستورهای فشرده‌ساز gzip، bzip2 و compress می‌توانند با نام برنامه به عنوان نام گزینه مشخص شوند، مانند --gzip. با این حال، آن گزینه‌ها در حال منسوخ شدن هستند. اکنون فشرده‌ساز xz نیز وجود دارد. xz را با -C xz یا --compactor=xz مشخص کنید.


مشخص کردن فشرده‌ساز «none» فشرده‌سازی فایل را غیرفعال می‌کند. فایل‌های فشرده‌شده هرگز به صورت متن ساده پردازش نمی‌شوند. آن‌ها همیشه با uuencode کدگذاری می‌شوند و گیرنده باید برای باز کردن آن‌ها uudecode را داشته باشد.

مشخص کردن فشرده‌ساز compress منسوخ شده است.


ارسال LEVEL برای فشرده‌سازی. این گزینه یک عدد صحیح را به عنوان آرگومان خود می‌پذیرد. مقدار level محدود است به:
در محدوده  1 تا 9

مقدار پیش‌فرض level برای این گزینه به این صورت است:
9

برخی از برنامه‌های فشرده‌سازی امکان تعیین سطح فشرده‌سازی را می‌دهند. مقدار پیش‌فرض 9 است، اما این گزینه به شما اجازه می‌دهد مقدار دیگری را مشخص کنید. این مقدار توسط gzip، bzip2 و xz استفاده می‌شود، اما نه توسط compress.


فشرده‌سازی با bzip2 و کدگذاری با uuencode برای فایل‌ها. این گزینه می‌تواند به تعداد نامحدود تکرار شود.

فشرده‌سازی تمام فایل‌ها با bzip2 و کدگذاری با uuencode پیش از بسته‌بندی. گیرنده باید برای باز کردن uudecode و bzip2 را داشته باشد.

نکته: این گزینه منسوخ شده است


فشرده‌سازی با gzip و کدگذاری با uuencode برای فایل‌ها. این گزینه می‌تواند به تعداد نامحدود تکرار شود.

فشرده‌سازی تمام فایل‌ها با gzip و کدگذاری با uuencode پیش از بسته‌بندی. گیرنده برای باز کردن باید uudecode و gzip را داشته باشد.

نکته: این گزینه منسوخ شده است


فشرده‌سازی با compress و کدگذاری با uuencode برای فایل‌ها. این گزینه می‌تواند به تعداد نامحدود تکرار شود.

فشرده‌سازی تمام فایل‌ها با compress و کدگذاری با uuencode پیش از بسته‌بندی. گیرنده برای باز کردن باید uudecode و compress را داشته باشد.

نکته: این گزینه منسوخ شده است


این یک نام مستعار برای گزینهٔ --level-of-compression است.

نکته: این گزینه منسوخ شده است


ارسال bits (پیش‌فرض ۱۲) به compress. مقدار پیش‌فرض bits برای این گزینه به این صورت است:
12

این ضریب فشرده‌سازی مورد استفاده توسط برنامهٔ compress است.

نکته: این گزینه منسوخ شده است.SS "تعیین روش کدگذاری فایل" فایل‌ها ممکن است در shar به صورت متن ساده یا کدگذاری‌شده با uuencode ذخیره شوند. به طور پیش‌فرض، برنامه با بررسی فایل روش مناسب را انتخاب می‌کند. شما می‌توانید انتخاب را برای تمام فایل‌ها اجباری کنید. در حالت ترکیب گزینه/فایل، این تنظیم می‌تواند در طول پردازش تغییر کند.


تصمیم‌گیری درباره کدگذاری با uuencode برای هر فایل به صورت جداگانه. این گزینه عضوی از رده گزینه‌های mixed-uuencode است.

به طور خودکار متنی یا باینری بودن فایل‌ها را تشخیص داده و آنها را به درستی بایگانی می‌کند. فایل‌هایی که باینری تشخیص داده شوند پیش از بسته‌بندی با uuencode کدگذاری می‌شوند. این رفتار پیش‌فرض برای shar است.

برای اینکه فایلی به جای باینری، یک فایل متنی در نظر گرفته شود، باید تمام شرایط زیر برقرار باشد:

فایل فاقد هرگونه نویسه کنترلی ASCII به جز BS (پس‌بر)، HT (تب افقی)، LF (خط جدید) یا FF (برگه‌بر) باشد.

فایل فاقد هرگونه نویسه‌ای باشد که بیت هشتم آن یک (set) شده باشد.

فایل فاقد هر خطی باشد که با پنج حرف «from »، چه با حروف بزرگ یا کوچک، آغاز شود. (برنامه‌های مدیریت ایمیل اغلب بدون دلیل یک نویسه > پیش از آن درج می‌کنند.)

فایل یا خالی باشد یا با یک بایت LF (خط جدید) پایان یابد.

هیچ خطی در فایل شامل بیش از ۲۰۰ نویسه نباشد. به منظور شمارش، خطوط با یک LF (خط جدید) جدا می‌شوند.


رفتار با تمام فایل‌ها به عنوان باینری. این گزینه عضوی از رده گزینه‌های mixed-uuencode است.

استفاده از uuencode پیش از بسته‌بندی تمام فایل‌ها. این کار حجم بایگانی را افزایش می‌دهد. گیرنده باید برای باز کردن بایگانی uudecode را داشته باشد. فایل‌های فشرده‌شده همیشه کدگذاری می‌شوند.


رفتار با تمام فایل‌ها به عنوان متنی. این گزینه عضوی از رده گزینه‌های mixed-uuencode است.

اگر فایل‌هایی با بایت‌های غیر ASCII یا متنی دارید که برخی برنامه‌های پردازش ایمیل با آن سازگار نیستند، ممکن است دچار مشکل شوید. با این حال، اگر از FTP یا SSH/SCP استفاده می‌کنید، فایل‌های متنی ناسازگار معمولاً مشکلی نخواهند داشت.


چاپ خروجی در فایل PREFIX.nn.

ذخیره بایگانی در فایل‌های prefix.01 تا prefix.nn به جای ارسال تمام خروجی به خروجی استاندارد. در صورت مشخص شدن گزینه‌های --whole-size-limit یا --split-size-limit، تعیین این گزینه الزامی است.

هنگامی که prefix شامل یک نویسه % باشد، prefix به عنوان یک قالب sprintf تفسیر می‌شود که باید بتواند یک عدد ده‌دهی تکی را نمایش دهد. هنگامی که prefix فاقد نویسه % باشد، رشته .%02d به طور داخلی به انتهای آن افزوده می‌شود.


تقسیم بایگانی، و نه فایل‌ها، به اندازه size. این گزینه عضوی از رده گزینه‌های whole-size-limit است. این گزینه باید در ترکیب با گزینه زیر ظاهر شود: output-prefix. این گزینه یک عدد صحیح را به عنوان آرگومان خود می‌پذیرد. مقدار size محدود به موارد زیر است:
در محدوده  8 تا 1023، یا
در محدوده  8192 تا 4194304

اندازه فایل خروجی را به size بایت محدود می‌کند، اما فایل‌های ورودی را تقسیم نمی‌کند. اگر size کمتر از ۱۰۲۴ باشد، در ۱۰۲۴ ضرب خواهد شد. این مقدار می‌تواند با پسوند k، K، m یا M نیز مشخص شود. سپس عدد به ترتیب در ۱۰۰۰، ۱۰۲۴، ۱۰۰۰۰۰۰ یا ۱۰۴۸۵۷۶ ضرب می‌شود. مقدار 4M (۴۱۹۴۳۰۴) حداکثر مجاز است.

برخلاف گزینه split-size-limit، این گزینه به گیرنده فایل‌های shar اجازه می‌دهد تا آن‌ها را به هر ترتیبی باز کند.


تقسیم بایگانی یا فایل‌ها به اندازه size. این گزینه عضوی از رده گزینه‌های whole-size-limit است. این گزینه باید در ترکیب با گزینه زیر ظاهر شود: output-prefix. این گزینه یک عدد صحیح را به عنوان آرگومان خود می‌پذیرد. مقدار size محدود به موارد زیر است:
در محدوده  8 تا 1023، یا
در محدوده  8192 تا 4194304

اندازه فایل خروجی را به size بایت محدود می‌کند و در صورت نیاز فایل‌ها را تقسیم می‌کند. مقادیر مجاز همانند گزینه --whole-size-limit تعیین می‌شوند.

بخش‌های بایگانی ایجادشده با این گزینه باید به ترتیب صحیح باز شوند. اگر گیرنده بایگانی‌های شل بخواهد تمام آن‌ها را در یک پوشه (فایل) ایمیل واحد قرار دهد، باید به ترتیب درست ذخیره شوند تا unshar بتواند همه آن‌ها را یکجا باز کند (با استفاده از یکی از گزینه‌های split archive). ببینید: فراخوانی unshar.


خواندن فهرست فایل‌ها از یک فایل.

این گزینه موجب می‌شود file مجدداً به عنوان ورودی استاندارد باز شود. اگر هیچ فایلی در خط ورودی یافت نشود، ورودی استاندارد برای خواندن نام فایل‌های ورودی بررسی می‌شود. استفاده از این گزینه مانع از ذکر فایل‌های ورودی در خط فرمان خواهد شد.

ورودی باید به شکلی مشابه خروجی تولیدشده توسط find باشد، هر نام فایل در یک خط. این سوییچ به‌ویژه زمانی مفید است که خط فرمان گنجایش فهرست فایل‌های مورد نظر برای بایگانی را ندارد.

اگر گزینه --intermix-type در خط فرمان مشخص شده باشد، گزینه‌های فشرده‌سازی می‌توانند در خطوطی جداگانه در ورودی استاندارد گنجانده شوند و هیچ نام فایلی نباید با یک خط تیره شروع شود.

برای مثال:

{ echo --compact xz
   find . -type f -print | sort
} | shar -S -p -L50K -o /somewhere/big

خواندن فهرست فایل‌ها از ورودی استاندارد.

این گزینه در واقع هیچ عملی انجام نمی‌دهد (no-op). این گزینه یک پوشش برای --input-file-list=- است.

نکته: این گزینه منسوخ شده است.SS "کنترل سرایندهای shar"


استفاده از name برای ثبت مشخصات آرشیو.

نام آرشیو جهت درج در سرایند موضوع فایل‌های shar. گزینهٔ --net-headers را ببینید.


بازنویسی نام ارسال‌کننده.

shar به طور معمول نام ارسال‌کننده را با استعلام از سیستم تعیین می‌کند. اگر این کار به نمایندگی از شخص دیگری انجام می‌شود، از این گزینه استفاده کنید.


خروجی دادن سرایندهای Submitted-by: و Archive-name:. این گزینه باید در ترکیب با گزینهٔ زیر مشخص شود: archive-name.

سرایندهای ایمیل تخصصی زیر را اضافه می‌کند:

Submitted-by: who@@where
Archive-name: name/part##
بخش who@@where به طور معمول از سیستم به دست می‌آید، اما می‌تواند با گزینهٔ --submitter نیز مشخص شود. مقدار name باید همراه با گزینهٔ --archive-name ارائه شود. اگر نام آرشیو شامل نویسهٔ خط مورب (/) باشد، بخش /part## حذف می‌شود. بنابراین دستور -n xyzzy موارد زیر را تولید می‌کند:
xyzzy/part01
xyzzy/part02

در حالی که دستور -n xyzzy/patch خروجی زیر را به همراه دارد:

xyzzy/patch01
xyzzy/patch02

و دستور -n xyzzy/patch01. خروجی زیر را تولید می‌کند:

xyzzy/patch01.01
xyzzy/patch01.02

آغاز کردن shar با یک خط برش.

یک سطر با متن 'Cut here' در ابتدای هر فایل خروجی قرار می‌گیرد.


ترجمهٔ پیام‌ها درون اسکریپت.

ترجمهٔ پیام‌ها در اسکریپت. اگر متغیر محیطی LANG را تنظیم کرده باشید، پیام‌های چاپ‌شده توسط shar به زبان مشخص‌شده خواهند بود. با این وجود، اسکریپت تولیدشده همچنان با استفاده از پیام‌هایی به زبان مشترک دنیای رایانه یعنی انگلیسی صادر خواهد شد. این گزینه باعث می‌شود پیام‌های درون اسکریپت به زبان‌های تعیین‌شده توسط متغیر محیطی LANG که هنگام تولید اسکریپت فعال بوده است ظاهر شوند.


عدم استفاده از “wc -c” برای بررسی اندازه.

پس از استخراج (unpack)، هر فایل با 'wc -c' بررسی نشود. حالت پیش‌فرض بررسی اندازه است.


عدم استفاده از خلاصهٔ md5sum برای اعتبارسنجی.

از خلاصهٔ md5sum برای اعتبارسنجی فایل‌های استخراج‌شده استفاده نشود. حالت پیش‌فرض بررسی و اعتبارسنجی است.


اعمال نویسهٔ پیشوند در آغاز تمامی سطرها.

افزودن نویسهٔ پیشوند را به ابتدای تمامی سطرها اجباری می‌کند، حتی اگر نیازی به آن نباشد. این گزینه ممکن است حجم آرشیو را اندکی افزایش دهد، به‌ویژه در صورت استفاده از --uuencode یا یکی از گزینه‌های فشرده‌سازی.


استفاده از delim برای جداسازی فایل‌ها. مقدار پیش‌فرض delim برای این گزینه برابر است با:
SHAR_EOF

استفاده از DELIM برای جداسازی فایل‌ها در shar به جای SHAR_EOF. این گزینه برای افرادی است که مایل‌اند فایل‌های shar خود را شخصی‌سازی کنند. جداکننده همواره با نویسهٔ خط زیرین (underscore) به عنوان پیشوند و پسوند همراه خواهد بود.


تولید sharهای بسیار ساده.

این گزینه sharهای بسیار ساده (vanilla) تولید می‌کند که در محیط استخراج، تنها به وجود ابزارهای echo، test و sed متکی هستند.

این گزینه رفتار پیش‌فرض را از حالت ترکیبی (--mixed-uuencode) به حالت متنی (--text-files) تغییر می‌دهد. در صورتی که گزینه‌هایی انتخاب شوند که به فشرده‌زدایی یا رمزگشایی در محیط استخراج نیاز داشته باشند، هشدارهایی نمایش داده خواهد شد.


استفاده از فایل‌های موقت به جای لوله‌کشی (pipe) بین برنامه‌ها.

درون فایل shar، به جای استفاده از لوله‌ها (pipes)، از یک فایل موقت برای نگه‌داری محتویات فایل‌ها بین مراحل مختلف استخراج استفاده شود. هنگامی که اطمینان دارید عملیات استخراج روی سیستم‌هایی فاقد پشتیبانی از لوله‌کشی انجام می‌شود، استفاده از این گزینه الزامی است.


رونویسی بدون بررسی بر روی فایل‌های موجود.

آرشیو را به گونه‌ای می‌سازد که هنگام پردازش، فایل‌های موجود بدون بررسی قبلی رونویسی شوند. چنانچه نه این گزینه و نه گزینهٔ --query-user تعیین نشده باشند، فرآیند استخراج بر روی فایل‌های از پیش موجود رونویسی نخواهد کرد. با این وجود در تمام حالات، اگر پارامتر --cut-mark هنگام استخراج به اسکریپت داده شود، فایل‌های موجود بدون هیچ قید و شرطی رونویسی خواهند شد.

sh shar-archive-file -c

پرسش از کاربر پیش از رونویسی فایل‌ها. این گزینه نباید در ترکیب با هیچ‌یک از گزینه‌های زیر به کار رود: vanilla-operation.

هنگام استخراج، از کاربر به صورت تعاملی پرسیده می‌شود که آیا فایل‌ها رونویسی شوند یا خیر. از این گزینه برای sharهایی که قرار است در شبکه ارسال شوند استفاده نکنید.

استفاده از این گزینه sharهایی تولید می‌کند که برای برخی رویه‌ها و فرآیندهای به سبک unshar مشکلاتی ایجاد خواهند کرد، به‌ویژه اگر همراه با حالت ساده (--vanilla-operation) استفاده شود. از این قابلیت بیشتر برای آرشیوهایی استفاده کنید که قرار است میان افراد با توافق دوجانبه رد و بدل شوند. مسلماً گزینهٔ -X برای آرشیوهای پوسته‌ای که قرار است به Usenet یا سایر شبکه‌های عمومی ارسال شوند مناسب نیست.

دلیل این مشکل آن است که برنامه‌ها یا رویه‌های unshar اغلب /bin/sh را از طریق ورودی استاندارد آن تغذیه می‌کنند و بنابراین /bin/sh و اسکریپت آرشیو پوسته برای خواندن سطرهای ورودی به رقابت می‌افتند. به عنوان تلاشی برای تخفیف این مشکل، shar بررسی می‌کند که آیا /dev/tty در سیستم گیرنده وجود دارد یا خیر و از آن برای دریافت پاسخ‌های کاربر استفاده خواهد کرد؛ اما این راهکار در تمامی شرایط کارساز نیست و ممکن است کاربر گیرنده مجبور شود از به کار بردن برنامه‌ها یا رویه‌های unshar خودداری کرده و مستقیماً /bin/sh را فراخوانی کند. در حالت ساده (vanilla)، حتی تلاشی برای استفاده از /dev/tty انجام نمی‌شود.


عدم بازیابی زمان‌های ویرایش فایل‌ها.

جلوگیری از ایجاد دستورات 'touch' برای بازیابی تاریخ‌های ویرایش فایل هنگام استخراج آن‌ها از آرشیو.

هنگامی که زمان‌های ویرایش فایل‌ها حفظ نشوند، برنامه‌های ساخت پروژه مانند "make"، فایل‌های ساخته‌شده را قدیمی‌تر از فایل‌های منبعی که از آن‌ها ساخته شده‌اند در نظر می‌گیرند. به همین دلیل، زمانی که این گزینه استفاده نمی‌شود، تلاش ویژه‌ای برای بازیابی برچسب‌های زمانی انجام می‌گیرد.


جلوگیری از ارسال پیام‌های پرگو (verbose) هنگام استخراج با unshar.

غیرفعال‌سازی حالت پرگو (Verbose OFF). قرار دادن توضیحاتی که هنگام استخراج آرشیو در خروجی نمایش داده می‌شوند را غیرفعال می‌کند.


بازیابی تمامی فایل‌ها در یک پوشه، صرف‌نظر از ساختار سلسله‌مراتبی.

بازیابی تنها بر پایهٔ نام اصلی فایل و نادیده گرفتن مسیر کامل آن. این گزینه سبب می‌شود تنها نام فایل‌ها استفاده شود، که هنگام ساخت shar از چندین پوشه یا یک پوشهٔ دیگر بسیار کاربردی است. توجه داشته باشید که اگر نام یک پوشه به shar داده شود، ساختار داخلی آن پوشه چه این گزینه تعیین شده باشد چه نشده باشد، بازیابی خواهد شد..SS "گزینه‌های بین‌المللی‌سازی (Internationalization options)"


عدم بین‌المللی‌سازی.

آرشیوهای شل بین‌المللی‌سازی‌شده تولید نشود، از پیام‌های پیش‌فرض انگلیسی استفاده شود. به‌طور پیش‌فرض، shar آرشیوهایی تولید می‌کند که هنگام استخراج، تلاش خواهند کرد پیام‌ها را به زبان ترجیحی استخراج‌کننده (که توسط متغیرهای محیطی LANG/LC_MESSAGES مشخص می‌شود) نمایش دهند. اگر هنگام استخراج هیچ فایل پیامی برای زبان استخراج‌کننده یافت نشود، پیام‌ها به زبان انگلیسی خواهند بود.


چاپ دایرکتوری پیام‌های shar.

دایرکتوری‌ای را که shar برای یافتن فایل‌های پیام زبان‌های گوناگون جستجو می‌کند چاپ کرده و بلافاصله خارج می‌شود.


پیام‌های پرحرف چاپ نشوند.

حذف پیام‌های پیشرفت کار.


این یک نام مستعار برای گزینه --quiet است.

نمایش اطلاعات نحوه استفاده و خروج.
-!, --more-help

نمایش اطلاعات تفصیلی نحوه استفاده از طریق یک صفحه‌بند (pager).

ذخیره وضعیت گزینه‌ها در cfgfile. پیش‌فرض، آخرین فایل پیکربندی فهرست‌شده در بخش پیش‌تنظیمات گزینه‌ها (OPTION PRESETS) در ادامه است. دستور پس از به‌روزرسانی فایل پیکربندی خارج خواهد شد.

بارگذاری گزینه‌ها از cfgfile. فرم no-load-opts بارگذاری فایل‌های پیکربندی/rc/ini قبلی را غیرفعال می‌کند. گزینه --no-load-opts در مراحل اولیه و خارج از نوبت معمول پردازش می‌شود.

چاپ نسخه برنامه و خروج. حالت پیش‌فرض `v'، یک نسخه ساده است. حالت `c' اطلاعات حق نشر و `n' اعلان کامل حق نشر را چاپ خواهد کرد.

هر گزینه‌ای که به عنوان not presettable علامت‌گذاری نشده باشد، می‌تواند با بارگذاری مقادیر از فایل(های) پیکربندی ("RC" یا ".INI") از پیش تنظیم شود. در صورت وجود، از فایل "$HOME/.sharrc" استفاده خواهد شد.

هیچ تلاشی برای بازیابی مجوزهای دسترسی و تاریخ‌های تغییر دایرکتوری‌ها صورت نمی‌گیرد، حتی با اینکه این کار به‌طور پیش‌فرض برای فایل‌ها انجام می‌شود. بنابراین، اگر دایرکتوری‌ای به shar داده شود، مجوزها و تاریخ‌های تغییر دایرکتوری استخراج‌شده متناظر ممکن است با دایرکتوری اصلی همخوانی نداشته باشد.

اگر دایرکتوری‌ای به shar ارسال شود، ممکن است برای صرفه‌جویی در مصرف حافظه، بیش از یک بار پویش شود. بنابراین، محتویات دایرکتوری را در حین اجرای shar تغییر ندهید.

دقت کنید که فایل(های) خروجی در میان ورودی‌ها قرار نگیرند؛ در غیر این صورت ممکن است shar وارد حلقه‌ای شود تا زمانی که دیسک پر شود. به‌ویژه هنگام ارسال یک دایرکتوری به shar مراقب باشید که فایل‌های خروجی درون آن دایرکتوری یا زیردایرکتوری‌های آن نباشند.

استفاده از گزینه‌های فشرده‌سازی و کدگذاری، فرایند ساخت آرشیو را، احتمالاً به میزان قابل توجهی، کند خواهد کرد.

استفاده از --query-user فایل‌های sharای تولید می‌کند که رویه‌های unshar بسیاری را دچار مشکل خواهد کرد. از این ویژگی تنها برای آرشیوهایی استفاده کنید که قرار است بین افراد هماهنگ و موافق رد و بدل شوند. قطعاً query-user برای آرشیوهای شلی که قرار است در سطح شبکه توزیع شوند مناسب نیست. استفاده از فشرده‌سازی در آرشیوهای متنی شبکه باعث انتقادهای شدیدی از سوی کاربران خواهد شد. همچنین عدم استفاده از گزینه‌های --no-timestamp یا --force-prefix نیز ممکن است گهگاه شکایت‌هایی در پی داشته باشد. این گزینه‌ها را در فایل ~/.sharrc خود قرار دهید.

برای فایل‌های پیکربندی به بخش پیش‌تنظیمات گزینه‌ها (OPTION PRESETS) مراجعه کنید.

مثال نخست نحوه ساخت یک آرشیو شل از تمام سورس‌کدهای برنامه‌های C را نشان می‌دهد. مثال دوم یک آرشیو شل شامل همه فایل‌های .c و .h تولید می‌کند که بدون نمایش پیام استخراج می‌شود. مثال سوم یک آرشیو شل از همه فایل‌های .arc با کدگذاری uuencode را در قالب فایل‌های شماره‌گذاری‌شده که از arc.sh.01 آغاز می‌شوند ایجاد می‌کند. مثال آخر یک آرشیو شل ارائه می‌دهد که هنگام استخراج تنها از نام فایل‌ها استفاده خواهد کرد.


shar *.c > cprog.shar
shar -Q *.[ch] > cprog.shar
shar -B -l28 -oarc.sh *.arc
shar -f /lcl/src/u*.c > u.sh

یکی از مقادیر خروج زیر بازگردانده خواهد شد:

0 (EXIT_SUCCESS)

اجرای موفقیت‌آمیز برنامه.
1 (EXIT_OPTION_ERROR)

گزینه‌های دستور به‌درستی پیکربندی نشده بودند.
2 (EXIT_FILE_NOT_FOUND)

ورودی مشخص‌شده پیدا نشد.
3 (EXIT_CANNOT_OPENDIR)

باز کردن/بستن دایرکتوری مشخص‌شده ناموفق بود.
4 (EXIT_FAILED)

محدودیت منابع/شکست در اجرای دستور متفرقه shar.
63 (EXIT_BUG)

باگی در دستور shar وجود دارد. لطفاً آن را گزارش دهید.
66 (EX_NOINPUT)

فایل پیکربندی مشخص‌شده قابل بارگذاری نبود.
70 (EX_SOFTWARE)

خطای عملیاتی داخلی در libopts رخ داد. لطفاً آن را به autogen-users@lists.sourceforge.net گزارش دهید. با تشکر. unshar(1)

برنامه‌های shar و unshar حاصل تلاش جمعی نویسندگان بسیاری است. افراد زیادی با گزارش مشکلات، پیشنهاد بهبودهای مختلف یا ارسال کدهای مفید در توسعهٔ آن مشارکت کرده‌اند. فهرستی از این افراد در فایل THANKS در توزیع sharutils قرار دارد.

کپی‌رایت (C) 1994-2015 متعلق به Free Software Foundation, Inc. تمامی حقوق محفوظ است. این برنامه تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License)، نسخهٔ ۳ یا بالاتر منتشر شده است.

لطفاً در موضوع ایمیل‌های گزارش باگ، عبارت sharutils را درج کنید. این کار به تشخیص و پیگیری بهتر پیام کمک می‌کند.

لطفاً گزارش باگ‌ها را به این نشانی بفرستید: bug-gnu-utils@gnu.org

این صفحهٔ راهنما با استفاده از AutoGen و از روی تعاریف گزینه‌های shar تولید شده است.

30 May 2015 GNU sharutils (4.15.2)