這篇文章主要介紹“Linux中tput命令的使用方法”,在日常操作中,相信很多人在Linux中tput命令的使用方法問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對大家解答”Linux中tput命令的使用方法”的疑惑有所幫助!接下來(lái),請跟著(zhù)小編一起來(lái)學(xué)習吧!
tput 命令將通過(guò) terminfo 數據庫對您的終端會(huì )話(huà)進(jìn)行初始化和操作。通過(guò)使用 tput,您可以更改幾項終端功能,如移動(dòng)或更改光標、更改文本屬性,以及清除終端屏幕的特定區域。與 UNIX 中的大多數命令一樣,tput 命令既可以用在 shell 命令行中也可以用在 shell 腳本中。為讓您更好地理解 tput,本文首先從命令行講起,然后緊接著(zhù)講述 shell 腳本示例。tput命令將通過(guò) terminfo 數據庫對您的終端會(huì )話(huà)進(jìn)行初始化和操作。通過(guò)使用tput您可以更改幾項終端功能,如移動(dòng)或更改光標、更改文本屬性,以及清除終端屏幕的特定區域。我們先看看它的常用參數:
參數
(1)字符串輸出參數設置
bel 警鈴
blink 閃爍模式
bold 粗體
civis 隱藏光標
clear 清屏
cnorm 不隱藏光標
cup 移動(dòng)光標到屏幕位置(x,y)
el 清除到行尾
ell 清除到行首
smso 啟動(dòng)突出模式
rmso 停止突出模式
smul 開(kāi)始下劃線(xiàn)模式
rmul 結束下劃線(xiàn)模式
sc 保存當前光標位置
rc 恢復光標到最后保存位置
sgr0 正常屏幕
rev 逆轉視圖
(2)數字輸出參數設置
cols 列數目
ittab 設置寬度
lines 屏幕行數
(3)布爾輸出參數設置
chts 光標不可見(jiàn)
hs 具有狀態(tài)行
應用
光標屬性
在 UNIX shell 腳本中或在命令行中,移動(dòng)光標或更改光標屬性可能是非常有用的。有些情況下,您可能需要輸入敏感信息(如密碼),或在屏幕上兩個(gè)不同的區域輸入信息。在此類(lèi)情況下,使用 tput 可能會(huì )對您有所幫助。
移動(dòng)光標
使用 tput 可以方便地實(shí)現在各設備上移動(dòng)光標的位置。通過(guò)在 tput 中使用 cup 選項,或光標位置,您可以在設備的各行和各列中將光標移動(dòng)到任意 X 或 Y 坐標。設備左上角的坐標為 (0,0)。
要在設備上將光標移動(dòng)到第 5 列 (X) 的第 1 行 (Y),只需執行 tput cup 5 1。另一個(gè)示例是 tput cup 23 45,此命令將使光標移動(dòng)到第 23 列上的第 45 行。
移動(dòng)光標并顯示信息
另一種有用的光標定位技巧是移動(dòng)光標,執行用于顯示信息的命令,然后返回到前一光標位置:
代碼如下:
(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
在保存了光標位置后,光標坐標將移動(dòng)到 (23,45)。
代碼如下:
echo “Input from tput/echo at 23/45”
將信息顯示到 stdout 中。
代碼如下:
tput rc
在顯示了這些信息之后,光標必須返回到使用 tput sc 保存的原始位置。要使光標返回到其上次保存的位置,請包括 rc 選項或“restore cursor position”。
注意:由于本文首先詳細介紹了通過(guò)命令行執行 tput,因此您可能會(huì )覺(jué)得在自己的 subshell 中執行命令要比單獨執行每條命令然后在每條命令執行之前顯示提示更簡(jiǎn)潔。
更改光標的屬性
在向某一設備顯示數據時(shí),很多時(shí)候您并不希望看到光標。將光標轉換為不可見(jiàn)可以使數據滾動(dòng)時(shí)的屏幕看起來(lái)更整潔。要使光標不可見(jiàn),請使用 civis 選項(例如,tput civis)。在數據完全顯示之后,您可以使用 cnorm 選項將光標再次轉變?yōu)榭梢?jiàn)。
文本屬性
更改文本的顯示方式可以讓用戶(hù)注意到菜單中的一組詞或警惕用戶(hù)注意某些重要的內容。您可以通過(guò)以下方式更改文本屬性:使文本加粗、在文本下方添加下劃線(xiàn)、更改背景顏色和前景顏色,以及逆轉顏色方案等。
要更改文本的顏色,請使用 setb 選項(用于設置背景顏色)和 setf 選項(用于設置前景顏色)以及在 terminfo 數據庫中分配的顏色數值。通常情況下,分配的數值與顏色的對應關(guān)系如下,但是可能會(huì )因 UNIX 系統的不同而異:
0:黑色
1:藍色
2:綠色
3:青色
4:紅色
5:洋紅色
6:黃色
7:白色
執行以下示例命令可以將背景顏色更改為黃色,將前景顏色更改為紅色:
代碼如下:
tput setb 6
tput setf 4
要反顯當前的顏色方案,只需執行 tput rev。
有時(shí),僅為文本著(zhù)色還不夠,也就是說(shuō),您想要通過(guò)另一種方式引起用戶(hù)的注意??梢酝ㄟ^(guò)兩種方式達到這一目的:一是將文本設置為粗體,二是為文本添加下劃線(xiàn)。
要將文本更改為粗體,請使用 bold 選項。要開(kāi)始添加下劃線(xiàn),請使用 smul 選項。在完成顯示帶下劃線(xiàn)的文本后,請使用 rmul 選項。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站