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