2017-09-03 162 views
3

的第一線,而試圖讀取VIM的版本號,我得到我需要忽略了很多額外的線路,我想讀的head手冊和嘗試以下命令:得到一個shell命令的輸出

vim --version | head -n 1

我想知道這是否是正確的方法?

+2

它是如何失敗?這個對我有用。 – choroba

+0

語法正確,錯誤是什麼? –

+0

這對我很有用,但也許你正在使用版本信息寫入stderr的vim版本。試試'vim --version 2>&1 | sed 1q' –

回答

6

是的,這是從命令獲得第一行輸出的一種方法。

如果命令輸出什麼標準錯誤,你想以同樣的方式來捕捉,你需要在命令的標準錯誤重定向到標準輸出流:

utility 2>&1 | head -n 1 

還有許多其他的也可以捕捉第一行,包括sed q(在第一行後退出)和sed -n 1p(僅打印第一行)。