इको कमांड के साथ गाड़ी वापसी


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, पहले वाले की तरह।
Kusalananda

3
echo -eकुख्यात है। आप शायद printfइसके बजाय इस्तेमाल करते हैं।
ट्रिपल जू

जवाबों:


20

\rऔर कुछ नहीं - सिर्फ इतना है कि, एक "गाड़ी वापसी" है। इसका मतलब यह है कि \rवसीयत के बाद जो पहले से छपी हुई है उसकी शुरुआत को अधिलेखित कर देगा।

उदाहरण के लिए:

echo -e "1234\r56"

प्रदर्शित करेगा:

5634

echo1234फिर मुद्रित होकर लाइन की भीख मांगने के लिए वापस चला गया और 56शीर्ष पर मुद्रित हुआ 12

एक नई पंक्ति के लिए, \nइसके बजाय प्रयास करें । रिक्त स्थान की भी आवश्यकता नहीं है। उदाहरण के लिए:

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
sysvinit प्रदान किए गए कार्यों में गाड़ी वापसी का भी उपयोग किया जाता है। उदाहरण के लिए फ़ंक्शन echo_successसे /etc/init.d/functions
ट्रेवर बॉयड स्मिथ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.