2017-08-25 56 views
0

我想改變我得到的整行echo的顏色。我如何?我正在使用zsh外殼。我使用的終端是iTerm。請幫忙。謝謝。我正在使用macOS Sierra 10.12.5的Mac。我寫了一個bash腳本就是echo "World is green"。請幫忙。改變bash中整行的顏色

+0

http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Visual-effects – Aaron

回答

1

使用

echo "$(tput setaf 2)World is green$(tput sgr0)" 

改變前景色爲綠色(2)後來將其復位(你可以用其他的數字實驗)。

爲了澄清事情,終端是誰可以改變顯示顏色,並且與bash或zsh無關,在這種情況下,它只發送正確的序列,正如您看到的那樣(在我的Linux終端中)

echo "$(tput setaf 2)World is green$(tput sgr0)" | xxd 
00000000: 1b5b 3332 6d57 6f72 6c64 2069 7320 6772 .[32mWorld is gr 
00000010: 6565 6e1b 2842 1b5b 6d0a     een.(B.[m. 
+0

完美地工作,但我得到'tput的:未知的terminfo能力「gr0''.What辦?同時請告訴我做粗體,斜體,下劃線和刪除線。謝謝。 – Dershowitz123

+0

我的不好。抱歉。 '(tput srg0)'之前沒有包含'$''。同時請告訴我做粗體,斜體,下劃線和刪除線。謝謝。 – Dershowitz123

+1

'man terminfo',您可以檢查功能名稱 –