2012-02-02 77 views
26

基本上我想讓終端輸出一個消息,後跟日期和時間,如「你好,今天是-dateandtime-」。如何將UNIX命令日期添加到回顯語句中

所以回聲可以完成第一個位,日期可以完成最後一個,但只有分開,我怎麼能把它們放在一起(在一個命令),所以他們一起輸出。

回聲你好

- 新的命令 -

日期

它,而不是在一條線。流水線的答案?

回答

50

這將做到這一點:

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

非常感謝。 :D – 2012-02-02 00:21:05

+0

+1僅僅是因爲你使用了$()而不是反引號(但是mimisbrunnr的解決方案是IMO更加正確) – 2012-02-02 02:29:28

3
echo Hello there, today is `date` 

您也可以使用修飾符像格式化日期輸出:

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

的修飾符的完整列表,請參閱man date

+0

工程就像一個魅力,謝謝。 – 2012-02-02 00:21:59

8

日期時間將採用任意格式的字符串。

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

你的命令不會產生你所顯示的內容,但類似於:'你好,今天是 - Thu Feb 2 03:28:CET 2012' – jlliagre 2012-02-02 02:27:56

+0

是的,我編輯了格式化字符串,忘記修補輸出 – zellio 2012-02-02 05:47:21

0

反引號會做的伎倆:

echo "Hi, today is" `date` 
1

對於這個特定的問題,密米爾之泉的解決方案是正確的道路要走。對於如何將數據附加到回波中的一般問題,一些常用技術是:

 
$ 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