جدول زیر تفاوتهای عمده میان پوسته استاندارد(sh) و Bourne Again SHell (bash) و Korn shell (ksh) و C shell (csh) را نمایش میدهد.
سازگاری پوسته | |
---|---|
چون Bourne Again SHell یک فوق مجموعه sh میباشد، تمام دستورات sh در bash نیز کار میکنند - اما نه برعکس. bashویژگیهای بسیار بیشتری در خود دارد، و به طوری که جدول زیر نمایش میدهد،بسیاری ویژگیهای سایر پوستهها را با هم آمیخته است. چون پوسته Turbo C فوق مجموعه csh است، تمام دستورات csh در tcsh کار خواهد کرد، اما عکس آن صادق نیست. |
جدول A.2: تفاوت ویژگیهای پوسته
sh | bash | ksh | csh | معنی / اثر |
---|---|---|---|---|
$ | $ | $ | % | اعلان پیشفرض کاربر |
>| | >| | >! | تغییر مسیر اجباری | |
> file 2>&1 | &> file or > file 2>&1 | > file 2>&1 | >& file | تغییر مسیر stdout و stderr به file |
{ } | { } | بسط عناصریک لیست | ||
`command` | `command` or $(command) | $(command) | `command` | جایگزینی خروجی دستور command محصور شده |
$HOME | $HOME | $HOME | $home | دایرکتوری خانگی |
~ | ~ | ~ | نماد دایرکتوری خانگی | |
~+ , ~- , dirs | ~+ , ~- | =- , =N | دسترسی به پشته دایرکتوری | |
var =value | VAR =value | var =value | set var =value | تخصیص مقدار متغیر |
export var | export VAR =value | export var =val | setenv var val | قرار دادن متغیر در محیط |
${nnnn} | ${nn} | بیش از 9 شناسه میتواند رجوع شود | ||
"$@ " | "$@ " | "$@ " | تمام شناسهها به عنوان کلمات جداگانه | |
$# | $# | $# | $#argv | تعداد شناسهها |
$? | $? | $? | $status | وضعیت خروج آخرین فرمان اجرا شده |
$! | $! | $! | شماره شناسایی آخرین پردازش پسزمینه (PID) | |
$- | $- | $- | گزینههای جاری | |
. file | source file or . file | . file | source file | خواندن دستورات داخل فایل |
alias x='y' | alias x=y | alias x y | نام x برای فرمان y قرار میگیرد | |
case | case | case | switch or case | انتخاب پیشنهادها |
done | done | done | end | جمله انتهای حلقه |
esac | esac | esac | endsw | پایان case یا switch |
exit n | exit n | exit n | exit (expr) | خروج با یک کد وضعیت |
for/do | for/do | for/do | foreach | حلقه به واسطه متغیرها |
set -f , set -o nullglob|dotglob| nocaseglob|noglob | noglob | انصراف از جانشینی کاراکترها در تولید نام فایل | ||
hash | hash | alias -t | hashstat | نمایش دستورات داخل جدول hash یا(tracked aliases) |
hash cmds | hash cmds | alias -t cmds | rehash | افزودن دستورات به جدول hash |
hash -r | hash -r | unhash | پاک کردن جدول hash | |
history | history | history | لیست دستورات قبلی صادره | |
ArrowUp+Enter or !! | r | !! | اجرای مجدد دستور قبلی | |
!str | r str | !str | اجرای آخرین دستوری که با «str»شروع میشود | |
!cmd :s/x /y / | r x =y cmd | !cmd :s/x /y / | تعویض «x» با «y» درآخرین دستوری که با «cmd» شروع میشود، و بعد اجرای آن. | |
if [ $i -eq 5 ] | if [ $i -eq 5 ] | if ((i ==5 )) | if ($i ==5 ) | الگوی بررسی شرط |
fi | fi | fi | endif | انتهای ساختار if |
ulimit | ulimit | ulimit | limit | تنظیم محدودیتهای منابع |
pwd | pwd | pwd | dirs | چاپ دایرکتوری کاری |
read | read | read | $< | خواندن از ترمینال |
trap 2 | trap 2 | trap 2 | onintr | چشمپوشی از وقفهها |
unalias | unalias | unalias | حذف مستعارها | |
until | until | until | شروع حلقه until | |
while/do | while/do | while/do | while | شروع حلقه while |
پوسته Bourne Again SHell ویژگیهای خیلی بیشتری دارد که در اینجا لیست نشدهاند. این جدول فقط برای آن است که به شما ایدهای از آن که چگونه این پوسته تمام ایدههای سودمند سایر پوستهها را ترکیب نموده است، بدهد: هیچ فیلد خالی در ستون مربوط به bash وجود ندارد. اطلاعات بیشتر در باره ویژگیهای انحصاری Bashرا میتوانید از صفحههای info از Bash در بخش “Bash Features”به دست آورید .
اطلاعات بیشتر:
شما باید حداقل یک راهنما را بخوانید، با راهنمای شل خودتان شروع کنید. انتخاب مقدم میتواند info bash باشد، bash پوسته گنو است و برای تازهکارها آسانترین شل میباشد. info آنرا چاپ کنید و در منزل نگهدارید، هر وقت پنج دقیقه فرصت دارید آنرا مطالعه کنید.