تبلیغات
وبلاگ تخصصی لینوکس - اطلاعات مفید از manual bash
و هرچیز جالب دیگه ای ;)

اطلاعات مفید از manual bash

نویسنده :. .
تاریخ:دوشنبه 14 شهریور 1390-08:49 ب.ظ

امروز داشتم manual bash رو می خوندم البته تمومم نشد خیلی مفصله و خیلی جالب. یه سری مواردی که جالب بود اینجا بطور خلاصه و برای اشاره به اونها میارم

bash - GNU Bourne-Again SHell


یه توضیح در ابتدا از shell آورده که میگه :
 DESCRIPTION
       Bash  is  an  sh-compatible  command language interpreter that executes commands read from the standard input or from a file.  Bash also incorporates useful
       features from the Korn and C shells (ksh and csh).

میگه یه محیطی برای اجرای فرامین هستش  که محیطی تعاملیه. همچنین ویژگی های ksh و csh را هم دراست.

یه جا در مورد Pipeline گفته

The standard output of command is connected via a pipe to the standard input of command2.

که توضیح میده خروجی استاندارد کامند اول میشه ورودی استاندارد کامند دوم

مثلا با کامند زیر دستور date رو اجرا می کنیم و به یه کاربر ایمیل می کنیم:

date | mail -s datemail user-mail-address

یه جای دیگه اپریتورهای AND (&&) و OR(||) رو معرفی کرده:

command1 && command2

command2 is executed if, and only if, command1 returns an exit status of zero

توضیح میده که کامند دوم در صورتی انجام میشه اگر و تنها اگر کامند اول exit status  صفر بده.
یا بهتر بگم درصورتی کامند دوم رو اجرا میکنه که کامند اول با موفقیت اجرا بشه و اگر command3 && هم وجود دشته باشه در صورتی که کامند اول و دوم با موفقیت اجرا بشن کامند سه رو هم اجرا خواهد کرد.
****************************************************************************************
نکته:
exit status رو می تونیم بعد از هر کامندی استفاده کنیم تا ببینیم اجرای کامند قبلی موفقیت آمیز بوده یا خیر. مثلا کامند date را می زنیم بعد اون میزنیم ?$ echo . اگر صفر بر گردونه نشون میده که کامند به درستی اجرا شده. حالا برای تست میشه dg زد که کامندی به این شکل وجود نداره بعد که ?$ echo رو می زنیم تا exit status رو ببینیم دیگه صفر نیست. و نشون میده که کامند قبل در اجرا مشکل داشته.
****************************************************************************************

command1 || command2 || command3

این هم مثل به OR منطقی عمل می کنه. میگه اگه کامند اول اجرا نشد دومی و اگه اولی و دومی اجرا نشدن سومیو اجرا کن. پس در صورتی که کامند اول اجرا بشه مابقی هیچ وقت اجرا نمی شن.

یکی از مواردی که بهش اشاره شده استفاده از export هستش مثلا می تونیم روی سیستمی که پیش فرض history size ش خیلی کمه و اجازه تغییر اونو توی etc/profile  نداریم می تونیم برای لحظاتی که یه session زدیم به سرور history size  رو به هر عدد دلخواه افزایش بدیم که البته وقتی session ببندیم باز به مقداری که هست برمی گرده:

export HISTSIZE=70






نوع مطلب : manual pages 

داغ کن - کلوب دات کام
نظرات() 
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر