دو نقطهی کوچک در ارتباط با Bash
سلام
در این پست فقط به مرور دو تا نکتهی کوچیک از Bash میپردازیم. همین :)
اوّلیش این هست که در مواقعی لازم داریم بدونیم آیا مقدار یک متغیر خالی (null) هست یا نه، برای مثال آیا دستوری که مقدارش رو منتقل کردیم به متغیر خروجی داشته یا نه! در این گونه مواقع که کم هم نیستن میشه از آپشن -z دستور if استفاده کرد. به این شکل:
1 2 3 |
if [[ -z $var ]]; then echo "The variable is empty." fi |
در این اسکریپت اگر مقدار متغیر var_name خالی باشه متن «Yes, The variable is empty» چاپ میشه و در غیر این صورت هیچ خروجی نخواهیم داشت.
دوّمیش این هست که یه متنی داریم که میخوایم توی خروجی چاپ بشه، ولی چون خیلی طولانی هست در نظر داریم طول مشخصی از اون رو چاپ کنیم و مثلاً با گذاشتن کاراکتر «…» در انتهاش به کاربر بفهمونیم که متن ادامه داشته. برای این کار میتونیم از شکل کلی زیر استفاده کنیم:
1 |
var=${var:start:count}["other chars"] |
در این دستور var متغیری هست که در نظر داریم طولش رو کاهش بدیم که دوباره مقدارش توی خودش ذخیره میشه. start شمارهی کاراکتری هست که در نظر داریم نمایش کاراکترها از اونجا شروع بشه، count تعداد کاراکترهایی هست که در نظر داریم نمایش داده بشه و در نهایت other chars همون کاراکتر/کاراکترهایی هستن که شاید دوست داشته باشیم به انتهای متن اضافه بشه. برای مثال به دستورات زیر توجه کنید:
1 2 3 4 |
$ var="This is an example command." $ var=${var:0:10}"..." $ echo $var This is an... |