آموزش خط فرمان: قسمت نهم، بسط (Expansion)

زمانی که شما یک خط فرمان در ترمینال مینویسید و کلید Enter را فشار میدهید، Bash چندین پروسه را قبل از اجرای فرمان، انجام میدهد. مواردی را دیدهایم که چگونه یک کاراکتر کوچک مثل * معانی زیادی میتواند در Shell داشته باشد. پروسهای که باعث انجام این کار میشود را بسط (Expansion) مینامند.
بسط (Expansion)
با بسط (Expansion) شما چیزی را وارد خط فرمان میکنید و قبل از اجرا و انجام، آن به چیز دیگری در Shell تبدیل میشود. در ادامه نگاهی به فرمان echo خواهیم انداخت.
echo فرمانی درونساخت در Shell بوده که وظیفه بسیار سادهای دارد. فرمان echo آرگومان متنی را که به آن میدهیم در خروجی استاندارد چاپ میکند:
پس هر آرگومانی که به echo بدهیم برای ما نشان داده میشود. مثالی دیگر را امتحان میکنیم:
پس چرا فرمان echo کاراکتر * را برای ما چاپ نکرد؟ اگر خاطرتان باشد در مبحث Wildcardها کاراکتر * چنین معنایی داشت: «هر کاراکتری را در نام فایل تطبیق بده.» حال Shell قرار است این کار را چگونه انجام دهد.
پاسخ اینجاست که Shell عملگر * را قبل از اجرای فرمان echo به چیز دیگری (در این مثال نام فایل در دایرکتوری جاری) بسط میدهد. زمانی که شما کلید Enter را میفشارید، Shell بهصورت خودکار هر کاراکتر دارای صلاحیت را در خط فرمان بسط میدهد و به همین دلیل است که هیچگاه خود عملگر * در خروجی دیده نخواهد شد؛ بلکه نتیجه عمل آن مشاهده میشود. البته توجه داشته باشید که روشهایی برای نادیده گرفتن بسط وجود دارد که فعلاً به این موضوع نخواهیم پرداخت.
منبع: کتاب The Linux Command Line نوشته William E. Shotts
Related Articles
About فرشید نوتاش حقیقت
This content was pulled from http://linuxseason.com/2018/10/expansion/
Read More: آموزش خط فرمان: قسمت نهم، بسط (Expansion)
دیدگاهی بنویسید
-
نوشتههای تازه
آخرین دیدگاهها
بایگانی
- فوریه 2019
- ژانویه 2019
- دسامبر 2018
- نوامبر 2018
- اکتبر 2018
- سپتامبر 2018
- آگوست 2018
- جولای 2018
- ژوئن 2018
- می 2018
- آوریل 2018
- مارس 2018
- فوریه 2018
- ژانویه 2018
- دسامبر 2017
- نوامبر 2017
- اکتبر 2017
- سپتامبر 2017
- آگوست 2017
- جولای 2017
- می 2017
- آوریل 2017
- مارس 2017
- فوریه 2017
- ژانویه 2017
- دسامبر 2016
- سپتامبر 2016
- آگوست 2016
- جولای 2016
- می 2016
- آوریل 2016
- مارس 2016
- ژانویه 2016
- دسامبر 2015
- نوامبر 2015
- اکتبر 2015
- سپتامبر 2015
- آگوست 2015
- جولای 2015
- می 2015
- مارس 2015
- فوریه 2015
- ژانویه 2015
- نوامبر 2014
- اکتبر 2014
- سپتامبر 2014
- آگوست 2014
- جولای 2014
- ژوئن 2014
- می 2014
- آوریل 2014
- مارس 2014
- فوریه 2014
- ژانویه 2014
- دسامبر 2013
- نوامبر 2013
- اکتبر 2013
اطلاعات