Echo : -n vs \c
به طوری که تا به حال شاید توجه نموده باشید،وقتی از دستور echo
استفاده میکنید، یک سطر جدید به انتهای دستور اضافه میشود. یک تعمیر برای این مورد موجود است ... خوب، به طور دقیقتر، دو روش برای رفع آن موجود است.
echo -n message
برای این که به echo
بگویند سطر جدید اضافه نکند، استفاده میکنند، دیگران
echo message \c
را برای گفتن همان مورد، به کار میبرند:
echo -n "Enter your name: " read name echo "Hello, $name"این در برخی سیستمها کار میکند ، و اینطور دیده میشود:
Enter your name: Steve
Hello, Steve
هرچند در دیگر سیستمها باید کد را به این شکل بنویسید
echo "Enter your name: \c" read name echo "Hello, $name"که همان نتایج را برای آن سیستمها خواهد داشت.
خوب، این یک دردسر است. در اینجا روشی را که در هردو کار خواهد کرد میآورم:
if [ "`echo -n`" = "-n" ]; then n="" c="\c" else n="-n" c="" fi echo $n Enter your name: $c read name echo "Hello, $name"اگر
echo -n
به طور صحیح تفسیر نشود، فقط -n
را بازتاب میدهد، که در این حالت
$n
به رشته تهی تنظیم میشودد، و $c
به \c
تنظیم میشود. در غیر این صورت برعکس آن انجام میشود، به طوری که $n
به -n
تنظیم میگردد، و $c
به رشته تهی تنظیم میشود.
Steve Parker نوشته Bourne و Bash راهنمای آموزشی اسکریپت نویسی
ترجمه محمود پهلوانی
لطفاً برای بهتر دیدن صفحه از فایرفاکس استفاده کنید