ইকো কমান্ড সহ ক্যারেজ ফিরবে


9

আমি \rনীচের মত বিকল্প (ক্যারেজ রিটার্ন) সহ ইকো কমান্ড অনুশীলন করছিলাম ।

echo -e "This is \r my college"

আউটপুট:

 my college

তবে যখন আমি \rনীচের মতো আরও একটি শব্দ যুক্ত করি

echo -e "This is the \r my college"

তারপরে এটি আমাকে এইভাবে আউটপুট দেয়:

 my college the

আরেকটি উদাহরণ

echo -e "This is \r valid data"
 valid data

echo -e "This is not a \r valid data"
 valid data a

সুতরাং, আমি জানতে চেয়েছিলাম যে এখানে গাড়ি চালানোর আসল উদ্দেশ্য কী?


এটি পুনরুত্পাদনযোগ্য নয়। দ্বিতীয় কমান্ডের ফলাফল প্রথম ফলাফলের মতো করে আউটপুট দেয় ␣my college
কুসালানন্দ

3
echo -eকুখ্যাতভাবে unportable। আপনি সম্ভবত printfপরিবর্তে ব্যবহার করবেন ।
ট্রিপলি

উত্তর:


20

কেবল \rএটিই, "গাড়ীর ফিরে" - কিছুই নয়। এর অর্থ হ'ল \rইল্ডের পরে যা ইতিমধ্যে মুদ্রিত হয়েছে তার সূচনাটি ওভাররাইট করবে।

উদাহরণ স্বরূপ:

echo -e "1234\r56"

প্রদর্শিত হবে:

5634

echoমুদ্রিত হয়েছে 1234লাইনের শুরুতে তাহলে সর্বস্বান্ত ফিরে এবং মুদ্রিত 56উপরের উপর 12

নতুন লাইনের জন্য \nপরিবর্তে চেষ্টা করুন try খুব বেশি জায়গার দরকার নেই। উদাহরণ স্বরূপ:

echo -e "This is\nmy college"

যা আউটপুট দেবে:

This is
my college

গাড়ি চালানো এই জাতীয় জিনিসগুলির জন্য দরকারী:

#!/bin/sh
i=0
while [ $i -lt 3 ]
do
    echo -ne "\r"`date` #you should remove new line too
    sleep 1
    i=$(($i + 1))
done
exit

যা dateপ্রতিটি লুপের পরে নতুন লাইন তৈরি করার পরিবর্তে নিজের উপরের দিকে প্রদর্শিত হবে ।


1
ক্যারেজ রিটার্ন সিসভিনিট প্রদত্ত ফাংশনেও ব্যবহৃত হয়। উদাহরণস্বরূপ ফাংশন echo_successথেকে /etc/init.d/functions
ট্রেভর বয়েড স্মিথ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.