2010-07-30 13 views
24

Görev bittiğinde son satırın sonunda [OK] yazdırarak fantezi efektler yapmak istersiniz.Aynı hat üzerinde çıkış yapmaya devam edin

echo "$0: Starting backup process in '$backupdir'... " 
sleep 3 
echo '[OK]' 

Ben \r, \c, \ gibi ikinci başında, birinci yankı sonunda farklı şeyler denedim ... Hiçbir iyi Google'da buldum:

bu var.

Ben çıktı bu bunu istiyorum: -n

+1

echo', printf' 'sopa' kullanmayın lütfen kullanın http okuyun: Daha fazla bilgi için //www.opengroup.org/onlinepubs/009695399/utilities/echo.html. – Anders

cevap

44

kullanın,

./backup.sh: Starting backup process in '/backup'... [OK]

Teşekkür: Daha sonra

./backup.sh: Starting backup process in '/backup'...

... Ve 3 sn, [OK] eklemek Sonunda satırsonu atlamak için seçenek. echo docs'da daha fazla referans.

Yani böyle bir şey yapabileceğini:

echo -n "$0: Starting backup process in '$backupdir'... " 
12

daha taşınabilir printf

+0

Taşınabilir ne şekilde? – Johan

+2

burada bakın: http://en.wikipedia.org/wiki/Echo_%28command%29#cite_note-0 – ghostdog74

+5

Bazı eko uygulamaları, yeni satırı bastırmak için '-n 'işaretini kullanır; diğerleri dizenin sonunda '\ c 'kullanır. Komut dosyanızda bir tane kullanırsanız ve echo diğerini beklerse, çıktınızın önüne "-n" veya sonunda "\ c" kazanırsınız. Ama 'printf"% s "" 0 $: ... "' her zaman beklendiği gibi çalışır. –

İlgili konular