16. شل محاوره‌ای

این هم چند اشاره سریع، برای استفاده از پوسته یونیکس یا لینوکس به طور محاوره‌ای. من شخصاً برای استفاده محاوره‌ای پوسته bash را پیشنهاد می‌کنم،تقریباً در هرسیستم با طعم ‎ *nix‎ در دسترس است، و برای استفاده به عنوان پوسته لاگین خیلی خوش‌آیند است. به هرحال سرچشمه پوسته ‎ ‎/bin/sh است، جایی که به پوسته bash یا bourne اشاره می‌کند.

bash

bash تعدادی ابزار جستجوی تاریخچه مفید دارد،کلیدهای جهت‌نمای بالا و پایین برای حرکت درلیست فرمان‌های قبلی به کار می‌روند.به طور مناسب‌تر ‎ Ctrl+r‎ یک جستجوی معکوس در انطباق با هربخشی از خط فرمان انجام می‌دهد . با زدن ESC دستور انتخاب و درخط فرمان پوسته جاری درج می‌شود تا در صورت لزوم ویرایش و اجرا شود.

اگر می‌خواهید دستوری را که قبلاً اجرا نموده‌اید، تکرار کنید و می‌دانید با چه کاراکتری شروع می‌شود، می‌توانید به این طریق عمل کنید:

bash$ ls /tmp
(list of files in /tmp)
bash$ touch /tmp/foo
bash$ !l
ls /tmp
(list of files in /tmp, now including /tmp/foo)

بعلاوه کلیدهای جهت‌نما می‌توانید از PageUpو PageDnبرای هدایت به ابتدا یا انتهای خط فرمان استفاده کنید.

ksh

با افزودن تاریخچه فرمان ، درهر کدام از حالت‌های vi یا emacs می‌توانید ksh را قابل استفاده‌تر نمایید. برای انجام این مورد،نسبت به شرایط دقیق محیط، چند روش موجود است. ‎ set -o vi‎، ‎ ksh -o vi‎، یا ‎ exec ksh -o vi‎ ( اگر شما حالت emacs را ترجیح می‌دهید، جای ‎ "vi"‎ می‌تواند با ‎ "emacs"‎ عوض شود ).

اگر می‌خواهید یک نشست ksh را از یک پوسته محاوره‌ای دیگر شروع کنید، می‌توانید به این طریق ksh را فراخوانی کنید:

csh% # oh no, it's csh!
csh% ksh
ksh$ # phew, that's better
ksh$ # do some stuff under ksh
ksh$ # then leave it back at the csh prompt:
ksh$ exit
csh%

این یک نشست جدید ksh را شروع می‌کند، که می‌توانید از آن خارج شده و به پوسته قبلی باز گردید. به طور جایگزین، ،با استفاده از دستور exec می‌توانستید csh ( یا هر پوسته دیگر ) را با پوسته ksh عوض کنید:

csh% # oh no, it's csh!
csh% exec ksh
ksh$ # do some stuff under ksh
ksh$ exit

login:

تفاوت استفاده از دستورexec در این است که نمی توانید به نشست پوسته قبلی برگردید.

تاریخچه چیز خوبی است:

csh% ksh
ksh$ set -o vi
ksh$ # You can now edit the history with vi-like commands, 
  # and use ESC-k to access the history.

اگر ESC را وبعد k را بزنید، وارد تاریخچه می‌شوید، با تکرار فشردن کلید k میتوانید درتاریخچه لیست فرمانها به طرف عقب حرکت کنید. از حالت فرمان vi و حالت درج، فرمان‌ها را به این طریق ویرایش کنید:

ksh$ touch foo
  ESC-k (enter vi mode, brings up the previous command)
  w (skip to the next word, to go from "touch" to "foo"
  cw (change word) bar (change "foo" to "bar")
ksh$ touch bar
Steve Parker  نوشته  Bourne و Bash راهنمای آموزشی اسکریپت نویسی
لطفاً برای بهتر دیدن صفحه از فایرفاکس استفاده کنید