echo - چاپ رشته خروجی استاندارد

echo - چاپ یک رشته یا رشته‌ها در خروجی استاندارد که در انتها به خط بعدی می‌رود، مورد استفاده قرار می‌گیرد.

شکل کلی دستور:

$ echo [options] [string]

این دستور یکی از دستورهای پراستفاده در خط فرمان است از این دستور به دفعات زیادی در اسکریپت‌نویسی استفاده خواهیدکرد و جالب است بدانید که فقط در گنو/لینوکس مورد استفاده قرار نمی‌گیرد برای مثال در «فایل‌های دسته‌ای (Batch files)» ویندوز هم مورد استفاده قرار می‌گیرد.

یک‌بار با هم از دستور استفاده می کنیم:

مثال:

$ echo www.30li.ir
www.30li.ir
$ echo "www.30li.ir"
www.30li.ir
$ echo 'www.30li.ir'
www.30li.ir

بیاید کمی تخصصی‌تر در نحوه‌ی استفاده از این سه حالت را بررسی کنیم.

بله! به هرسه حالت می‌توان از این دستور استفاده کرد ولی رایج‌ترین قاعده بر این است که:

۱. برای رشته‌ها یا لیترال‌ها  از روش مقابل استفاده می‌شود: "رشته‌ی شما"

۲. برای کاراکترها از این روش استفاده می‌شود: 'کاراکتر شما'

مثال:

echo 'a' 'b' 'c'
a b c

که در دستور بالا، a، b، c هر کدام یک کاراکتر محسوب می‌شوند.

۳. گاهی اسکریپت‌نویسان، به سرعت کار توجه دارند که در این صورت کافی است رشته‌ی مورد نظر را بعد از یک فضای خالی جلوی دستور، تایپ کنیم.

نکته: در صورت عدم یک فاصله بعد از دستور، خطای استفاده از دستور را مشاهده خواهید کرد.

مثال:

echowww.30li.ir
echowww.30li.ir: command not found

گزینه‌های اختیاری:

n-: اگر توجه کرده باشید به صورت معمول استفاده‌ از این دستور باعث می‌شود که در انتها، رشته‌ی ما به سطر بعد برود، برای جلوگیری از این ویژگی پیش‌فرض، از این گزینه استفاده می کنیم.

مثال:

$ echo -n "www.30li.ir"
www.30li.ir$

e-: این گزینه باعث می‌شود که از «کاراکترهای ویژه» استفاده کنیم:

کاراکترهای ویژه:

  • n\: یک کاراکتر خط جدید
  • t\: یک کاراکتر tab افقی
  • \\: یک کاراکتر \
  • a\: پخش صدای بوق از ترمینال
  • b\: یک کاراکتر backspace
  • e\: یک کاراکتر escape
  • v\: یک کاراکتر tab عمودی

مثال:

echo -e "\n\n\v\twww.30li.ir" "\n\n\n\t30li.ir"

    www.30li.ir

    30li.ir

این ساده‌ترین استفاده از این دستور بود. در ادامه باچند مثال کار را به پایان می‌رسانم.

با استفاده از دستور زیر، مسیرخانگی کاربر حال حاضر را مشاهده خواهید کرد:

مثال:

echo $HOME
/home/name

اگر توجه کرده باشید در پایانه یا همان ترمینال، با وارد کرد نام یک نرم افزار، آن نرم افزار اجرا خواهد شد.

این به چه صورت است؟ تمام مسیرهای مورد نیازکه یک برنامه برای اجرا شدن توسط پایانه را دارد در PATH$ ذخیره می‌شود.

مثال:

echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

یکی دیگر از توانایی‌های این دستور، پشتیبانی از تطابق الگو (Pattern Matching) هست، از قبیل نویسه‌های عام و...

مثال:

echo -e The gif files are *.gif

که تمام فایل‌هایی که در انتهای آن‌ها gif. هست را در خروجی نمایش می‌دهد. توجه داشته باشید که به این نحو استفاده کردن، برای مسیر جاری کاربرد دارد.