Terminal
BSD (& Linux) tput - 基本的可互操作顏色設置
任何人都可以在 * BSD 上使用 GUI確認以下是否在 BSD 系統上正確執行?
我試圖創建一個虛擬的 *BSD 測試盒,但沒有成功。所以,我為 *BSD 上的正確序列耗盡了一些可用資源
tput
……謝謝!#!/bin/sh if tput setaf > /dev/null 2>&1; then # Linux tput tput_number_of_colors=$(tput colors) tput_cmd_set_fg_color='tput setaf' tput_bold=$(tput bold) tput_reset=$(tput sgr0) elif tput AF > /dev/null 2>&1; then # BSD tput tput_number_of_colors=$(tput Co) tput_cmd_set_fg_color='tput AF' tput_bold=$(tput smso) tput_reset=$(tput me) else # black & white console, or no tput tput_number_of_colors=2 tput_cmd_set_fg_color= tput_bold= tput_reset= fi tput_test () # this function uses the above to test tput capability of the terminal { { command -v tput && [ "$tput_number_of_colors" -ge 8 ] && $tput_cmd_set_fg_color 1 && echo "$tput_bold"; } > /dev/null 2>&1 } if tput_test; then # example of bold color definition color_red=$tput_bold$($tput_cmd_set_fg_color $color_red_id) fi
否:
s/smso/so/
(termcap 名稱始終為 2 個字元)。terminfo(5)手冊頁是您回答問題的地方。手冊頁顯示了這一點:
enter_bold_mode bold md turn on bold (extra bright) mode
所以這**
md
將用於打開粗體模式。smso
(terminfo) 或so
**(termcap) 開啟standout mode,稍後您可以在手冊頁中看到它不一定與粗體相同:如果您的終端具有一種或多種顯示屬性,則可以用多種不同的方式表示這些屬性。您應該選擇一種顯示形式作為 突出模式,代表一種良好、高對比度、易於眼睛的格式,用於突出顯示錯誤消息和其他吸引註意力的格式。(如果你有選擇,反向影片加半亮是好的,或者單獨的反向影片。)進入和退出 突出模式的序列分別 為**
smso
和rmso
**。如果要進入或退出突出模式的程式碼 在螢幕上留下一個甚至兩個空格,就像 TVI 912 和 Teleray 1061 那樣,那麼 **xmc
**應該給出告訴剩下多少空間。