人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Linux中用于更改光標和文本屬性的tput命令使用詳解

發(fā)布日期:2022-01-21 16:01 | 文章來源:站長之家

tput 命令將通過 terminfo 數(shù)據(jù)庫對您的終端會話進行初始化和操作。通過使用 tput,您可以更改幾項終端功能,如移動或更改光標、更改文本屬性,以及清除終端屏幕的特定區(qū)域。與 UNIX 中的大多數(shù)命令一樣,tput 命令既可以用在 shell 命令行中也可以用在 shell 腳本中。為讓您更好地理解 tput,本文首先從命令行講起,然后緊接著講述 shell 腳本示例。tput命令將通過 terminfo 數(shù)據(jù)庫對您的終端會話進行初始化和操作。通過使用tput您可以更改幾項終端功能,如移動或更改光標、更改文本屬性,以及清除終端屏幕的特定區(qū)域。我們先看看它的常用參數(shù):

參數(shù)

(1)字符串輸出參數(shù)設置
  bel 警鈴
  blink 閃爍模式
  bold 粗體
  civis 隱藏光標
  clear 清屏
  cnorm 不隱藏光標
  cup 移動光標到屏幕位置(x,y)
  el 清除到行尾
  ell 清除到行首
  smso 啟動突出模式
  rmso 停止突出模式
  smul 開始下劃線模式
  rmul 結束下劃線模式
  sc 保存當前光標位置
  rc 恢復光標到最后保存位置
  sgr0 正常屏幕
  rev 逆轉視圖
(2)數(shù)字輸出參數(shù)設置
  cols 列數(shù)目
  ittab 設置寬度
  lines 屏幕行數(shù)
(3)布爾輸出參數(shù)設置
  chts 光標不可見
  hs 具有狀態(tài)行


應用
光標屬性
在 UNIX shell 腳本中或在命令行中,移動光標或更改光標屬性可能是非常有用的。有些情況下,您可能需要輸入敏感信息(如密碼),或在屏幕上兩個不同的區(qū)域輸入信息。在此類情況下,使用 tput 可能會對您有所幫助。
移動光標
使用 tput 可以方便地實現(xiàn)在各設備上移動光標的位置。通過在 tput 中使用 cup 選項,或光標位置,您可以在設備的各行和各列中將光標移動到任意 X 或 Y 坐標。設備左上角的坐標為 (0,0)。
要在設備上將光標移動到第 5 列 (X) 的第 1 行 (Y),只需執(zhí)行 tput cup 5 1。另一個示例是 tput cup 23 45,此命令將使光標移動到第 23 列上的第 45 行。
移動光標并顯示信息
另一種有用的光標定位技巧是移動光標,執(zhí)行用于顯示信息的命令,然后返回到前一光標位置:

復制代碼
代碼如下:

(tput sc ; tput cup 23 45 ; echo “Input from tput/echo at 23/45” ; tput rc)

下面我們分析一下 subshell 命令:

復制代碼
代碼如下:

tput sc

必須首先保存當前的光標位置。要保存當前的光標位置,請包括 sc 選項或“save cursor position”。

復制代碼
代碼如下:

tput cup 23 45

在保存了光標位置后,光標坐標將移動到 (23,45)。

復制代碼
代碼如下:

echo “Input from tput/echo at 23/45”

將信息顯示到 stdout 中。

復制代碼
代碼如下:

tput rc

在顯示了這些信息之后,光標必須返回到使用 tput sc 保存的原始位置。要使光標返回到其上次保存的位置,請包括 rc 選項或“restore cursor position”。
注意:由于本文首先詳細介紹了通過命令行執(zhí)行 tput,因此您可能會覺得在自己的 subshell 中執(zhí)行命令要比單獨執(zhí)行每條命令然后在每條命令執(zhí)行之前顯示提示更簡潔。
更改光標的屬性
在向某一設備顯示數(shù)據(jù)時,很多時候您并不希望看到光標。將光標轉換為不可見可以使數(shù)據(jù)滾動時的屏幕看起來更整潔。要使光標不可見,請使用 civis 選項(例如,tput civis)。在數(shù)據(jù)完全顯示之后,您可以使用 cnorm 選項將光標再次轉變?yōu)榭梢姟?br />文本屬性
更改文本的顯示方式可以讓用戶注意到菜單中的一組詞或警惕用戶注意某些重要的內(nèi)容。您可以通過以下方式更改文本屬性:使文本加粗、在文本下方添加下劃線、更改背景顏色和前景顏色,以及逆轉顏色方案等。
要更改文本的顏色,請使用 setb 選項(用于設置背景顏色)和 setf 選項(用于設置前景顏色)以及在 terminfo 數(shù)據(jù)庫中分配的顏色數(shù)值。通常情況下,分配的數(shù)值與顏色的對應關系如下,但是可能會因 UNIX 系統(tǒng)的不同而異:
0:黑色
1:藍色
2:綠色
3:青色
4:紅色
5:洋紅色
6:黃色
7:白色
執(zhí)行以下示例命令可以將背景顏色更改為黃色,將前景顏色更改為紅色:

復制代碼
代碼如下:

tput setb 6
tput setf 4

要反顯當前的顏色方案,只需執(zhí)行 tput rev。
有時,僅為文本著色還不夠,也就是說,您想要通過另一種方式引起用戶的注意。可以通過兩種方式達到這一目的:一是將文本設置為粗體,二是為文本添加下劃線。
要將文本更改為粗體,請使用 bold 選項。要開始添加下劃線,請使用 smul 選項。在完成顯示帶下劃線的文本后,請使用 rmul 選項。

版權聲明:本站文章來源標注為YINGSOO的內(nèi)容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務

7x24全年不間斷在線

專屬顧問服務

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務熱線

關注
微信

關注官方微信
頂部