منبع اصلی نوشتار زیر در این لینک قرار دارد

and و or در بش اسکریپت

سلام دوستان . یادمه جایی شنیده بودن که اسکریپت های بش کار خاصی نمی کنن و فقط دستوراتی که به صورت تکی در ترمینال وارد می کنیم رو به صورت منظم در کنار هم به صورت خودکار اجرا می کنه . بحث امروز هم دقیقا همین هست، شاید در ظاهر ما در دستورات خودمون در ترمینال از or یا and استفاده نکنیم اما این دلیل نمیشه که استفاده از این ها فقط در اسکریپت و برنامه ها باشه .

ابتدا اجازه بدید توضیح بدیم که اصلا منظور از and و or چیست و چه شکلی استفاده می شود.

زمانی پیش می آید که دستوری را اجرا می کنیم و می خواهیم دستور بعدی متناسب با دستور اول اجرا شود . یعنی یا اجرا شود یا اجرا نشود . در این صورت از and یا or استفاده می کنیم .

and در بش به صورت && است و به صورت زیر ( به عنوان مثال ) به کار می رود :

iman@OSLearn:~$ ls /etc/passwd && echo 'OSLearn'

در دستور بالا echo زمانی اجرا می شود که دستور اول یعنی ls درست اجرا شده باشد .

 

حال فرض کنید می خواهیم دستور دوم زمانی اجرا شود که دستور اول درست و صحیح اجرا نشده باشد . در این صورت از or استفاده می کنیم . or در بش به صورت || است و به صورت زیر ( به عنوان مثال ) به کار می رود :

iman@OSLearn:~$ cat /etc/shadow &> /dev/null || echo "Failed to open file"

 

در مجموع می توان به این صورت گفت که :

وقتی از && استفاده می کنیم : دستور دوم زمانی اجرا می شود که دستور اول درست اجرا شده باشد .

وقتی از || استفاده می کنیم : دستور دوم زمانی اجرا می شود که دستور اول درست اجرا نشده باشد .

 

منبع : او اس لرن دات آی آر | http://OSLearn.ir

نویسنده : E2MA3N

از این مطلب راضی هستید ؟ می خواهید به سایت کمک کنید ؟ رضایت خودتون رو با دونیت به ما اعلام کنید . برای دونیت روی خرید کلیک کنید . با تشکر



برچسب ها : , , , , , , , ,