2012-02-02 19 views
26

Temel olarak, terminal çıktısını "Hi, bugün -dateandtime-" gibi tarih ve saatin ardından bir mesaja sahip olmak istiyorum.UNIX komut tarihini eko deyimine nasıl eklerim

Bu nedenle, echo ilk biti gerçekleştirebilir ve tarih sonuncuyu başarabilir, ancak yalnızca ayrı olarak, bunları bir komut olarak nasıl bir araya getirebilirim?

gibi yankı Merhaba

-yeni komutu vardır:

tarih

bunu mu değil bir satırda. Cevabı pipelliyor mu?

cevap

50

Bu yapacağım:

echo "Hi, today is $(date)" 
+0

Çok teşekkür ederim. : D –

+0

+1 sadece temel prensipte çünkü backticks yerine $() kullandınız (ama mimisbrunnr'ın çözümü IMO daha doğru) –

3
echo Hello there, today is `date` 

Ayrıca gibi nitelemeler tarihi çıkış biçimi:

echo Hello there, today is `date +%D` 

değiştiricileri tam listesi için man date bakınız.

+0

Bir çekicilik gibi çalışıyor, teşekkürler. –

8

Tarih, isteğe bağlı bir biçim dizgesinde gerçekleşir. Backtick hile olacaktır

> date +"Hi, today is - %a %b %e %H:%M:$S %Z %Y" 
    Hi, today is - Thu Feb 2 03:28: CET 2012 
+0

Komutunuz gösterdiğiniz şeyleri üretmeyecek ama bir şey gibi: 'Merhaba, bugün - Perşubat 2 03:28: CET 2012'de – jlliagre

+0

evet doğru, biçim dizgisini düzenledim, çıktısını düzeltme ekini unuttum – zellio

0

: Bu özel sorun için

echo "Hi, today is" `date` 
1

, mimisbrunnr çözümü gitmek için doğru yoldur. Bir yankıya nasıl veri ekleneceğine dair genel soru için, bazı yaygın teknikler şunlardır:

 
$ echo 'Hi, today is ' | tr -d '\012'; date 
Hi, today is Wed Feb 1 18:11:40 MST 2012 
$ echo -n 'Hi, today is '; date 
Hi, today is Wed Feb 1 18:11:43 MST 2012 
$ printf 'Hi, today is '; date 
Hi, today is Wed Feb 1 18:11:48 MST 2012