Bash
如何將彩色文本儲存在變數中並稍後用顏色列印?
如果我這樣做
git status --short
了,git 會列出未跟踪的文件,前面有兩個紅色問號:我試圖將它儲存在一個變數中,然後用顏色列印出來。這是我的 bash 腳本:
#!/bin/bash status=$(git status --short) echo -e "$status"
我認為該
-e
標誌會導致 bash 為輸出著色,但它不起作用:我怎樣才能做到這一點?
編輯:可能的重複是詢問轉義字元,特別是 ANSI 顏色控制序列如何工作。我想我理解它們是如何工作的。我的問題是如何在腳本輸出中保留這些。
預設情況下,大多數產生顏色的程序只會在輸出到終端而不是管道或文件時產生顏色。 一般來說,這是一件好事。 然而,通常有一個超控開關。例如,
ls
可以使用for ,--color=always
因此可以將顏色保存在 shell 變數中。例如:
grep
也支持該--colors=always
選項。對於 git,對應的選項是它的
color.ui
配置設置:git -c color.ui=always status