欧美激情aaaa_伊人久久久大香线蕉综合直播_日韩在线卡一卡二_亚洲成人人体

tput

通過terminfo數據庫對終端會話進行初始化和操作

補充說明

tput命令 將通過 terminfo 數據庫對您的終端會話進行初始化和操作。通過使用 tput,您可以更改幾項終端功能,如移動或更改光標、更改文本屬性,以及清除終端屏幕的特定區域。

什么是 terminfo 數據庫?

UNIX 系統上的 terminfo 數據庫用于定義終端和打印機的屬性及功能,包括各設備(例如,終端和打印機)的行數和列數以及要發送至該設備的文本的屬性。UNIX 中的幾個常用程序都依賴 terminfo 數據庫提供這些屬性以及許多其他內容,其中包括 vi 和 emacs 編輯器以及 curses 和 man 程序。

與 UNIX 中的大多數命令一樣,tput 命令既可以用在 shell 命令行中也可以用在 shell 腳本中。為讓您更好地理解 tput,本文首先從命令行講起,然后緊接著講述 shell 腳本示例。

光標屬性

在 UNIX shell 腳本中或在命令行中,移動光標或更改光標屬性可能是非常有用的。有些情況下,您可能需要輸入敏感信息(如密碼),或在屏幕上兩個不同的區域輸入信息。在此類情況下,使用 tput 可能會對您有所幫助。

tput clear # 清屏
tput sc # 保存當前光標位置
tput cup 10 13 # 將光標移動到 row col
tput civis # 光標不可見
tput cnorm # 光標可見
tput rc # 顯示輸出
exit 0

移動光標

使用 tput 可以方便地實現在各設備上移動光標的位置。通過在 tput 中使用 cup 選項,或光標位置,您可以在設備的各行和各列中將光標移動到任意 X 或 Y 坐標。設備左上角的坐標為 (0,0)。

要在設備上將光標移動到第 5 列 (X) 的第 1 行 (Y),只需執行 tput cup 5 1。另一個示例是 tput cup 23 45,此命令將使光標移動到第 23 列上的第 45 行。

移動光標并顯示信息

另一種有用的光標定位技巧是移動光標,執行用于顯示信息的命令,然后返回到前一光標位置:

(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”。

注意:由于本文首先詳細介紹了通過命令行執行 tput,因此您可能會覺得在自己的 subshell 中執行命令要比單獨執行每條命令然后在每條命令執行之前顯示提示更簡潔。

更改光標的屬性

在向某一設備顯示數據時,很多時候您并不希望看到光標。將光標轉換為不可見可以使數據滾動時的屏幕看起來更整潔。要使光標不可見,請使用 civis 選項(例如,tput civis)。在數據完全顯示之后,您可以使用 cnorm 選項將光標再次轉變為可見。

文本屬性

更改文本的顯示方式可以讓用戶注意到菜單中的一組詞或警惕用戶注意某些重要的內容。您可以通過以下方式更改文本屬性:使文本加粗、在文本下方添加下劃線、更改背景顏色和前景顏色,以及逆轉顏色方案等。

要更改文本的顏色,請使用 setb 選項(用于設置背景顏色)和 setf 選項(用于設置前景顏色)以及在 terminfo 數據庫中分配的顏色數值。通常情況下,分配的數值與顏色的對應關系如下,但是可能會因 UNIX 系統的不同而異:

執行以下示例命令可以將背景顏色更改為黃色,將前景顏色更改為紅色:

tput setb 6 tput setf 4

要反顯當前的顏色方案,只需執行tput rev

有時,僅為文本著色還不夠,也就是說,您想要通過另一種方式引起用戶的注意。可以通過兩種方式達到這一目的:一是將文本設置為粗體,二是為文本添加下劃線。

要將文本更改為粗體,請使用 bold 選項。要開始添加下劃線,請使用 smul 選項。在完成顯示帶下劃線的文本后,請使用 rmul 選項。

實例

使輸出的字符串有顏色,底色,加粗:

#!/bin/bash
printf $(tput setaf 2; tput bold)'color show\n\n'$(tput sgr0)

for((i=0; i<=7; i++)); do
    echo $(tput setaf $i)"show me the money"$(tput sgr0)
done

printf '\n'$(tput setaf 2; tput setab 0; tput bold)'background color show'$(tput sgr0)'\n\n'

for((i=0,j=7; i<=7; i++,j--)); do
    echo $(tput setaf $i; tput setab $j; tput bold)"show me the money"$(tput sgr0)
done

exit 0

輸出格式控制函數:

#!/bin/bash

# $1 str       print string
# $2 color     0-7 設置顏色
# $3 bgcolor   0-7 設置背景顏色
# $4 bold      0-1 設置粗體
# $5 underline 0-1 設置下劃線

function format_output(){
    str=$1
    color=$2
    bgcolor=$3
    bold=$4
    underline=$5
    normal=$(tput sgr0)

    case "$color" in
        0|1|2|3|4|5|6|7)
            setcolor=$(tput setaf $color;) ;;
        *)
            setcolor="" ;;
    esac

    case "$bgcolor" in
        0|1|2|3|4|5|6|7)
            setbgcolor=$(tput setab $bgcolor;) ;;
        *)
            setbgcolor="" ;;
    esac

    if [ "$bold" = "1" ]; then
        setbold=$(tput bold;)
    else
        setbold=""
    fi

    if [ "$underline" = "1" ]; then
        setunderline=$(tput smul;)
    else
        setunderline=""
    fi

    printf "$setcolor$setbgcolor$setbold$setunderline$str$normal\n"
}

format_output "Yesterday Once more" 2 5 1 1

exit 0

光標屬性例子:

#!/bin/bash
# clear the screen
tput clear
# Move cursor to screen location X,Y (top left is 0,0)
tput cup 3 15
# set a foreground colour using ANSI escape
tput setaf 3
echo "XYX Corp LTD."
tput sgr0
tput cup 5 17
# Set reverse video mode
tput rev
echo "M A I N - M E N U"
tput sgr0
tput cup 7 15
echo "1\. User Management"
tput cup 8 15
echo "2\. service Management"
tput cup 9 15
echo "3\. Process Management"
tput cup 10 15
echo "4\. Backup"
# Set bold mode
tput bold
tput cup 12 15
read -p "Enter your choice [1-4] " choice
tput clear
tput sgr0
tput rc

exit 0
欧美激情aaaa_伊人久久久大香线蕉综合直播_日韩在线卡一卡二_亚洲成人人体
国产精品超碰97尤物18| 欧美精三区欧美精三区| 九九热在线视频观看这里只有精品| 激情综合网最新| 91美女在线观看| 久久亚洲一区二区三区明星换脸| 午夜精品在线视频一区| 欧日韩精品视频| 亚洲日本在线天堂| 一区二区三区影院| 91碰在线视频| 亚洲裸体在线观看| 91久久精品国产91性色tv | 亚洲男同性视频| 91在线免费播放| 樱花草国产18久久久久| 欧美日韩亚洲国产综合| 亚洲一二三四久久| 欧美色老头old∨ideo| 亚洲成a人v欧美综合天堂下载| 在线国产电影不卡| 亚洲国产视频网站| 日韩一区二区三区三四区视频在线观看| 性做久久久久久久久| 欧美一区二区三区成人| 国产精品一区在线观看你懂的| 国产日韩亚洲欧美综合| 国产suv精品一区二区6| 亚洲日本在线看| 91精品国产综合久久婷婷香蕉 | 国产精品国产精品国产专区不片| 99riav久久精品riav| 亚洲第一综合色| 精品免费视频一区二区| 国产一区二区在线视频| 亚洲天堂成人网| 日韩欧美精品在线视频| 成人国产在线观看| 亚洲一线二线三线视频| 精品国产3级a| 91美女片黄在线观看91美女| 精品久久久久久最新网址| 成人免费视频免费观看| 亚洲福利一区二区三区| 久久久精品日韩欧美| 欧美中文字幕亚洲一区二区va在线| 日av在线不卡| 一区二区三区中文在线| 精品国产亚洲在线| 欧美三区在线视频| 成人精品小蝌蚪| 蜜桃av一区二区三区| 亚洲欧美偷拍三级| 国产日韩精品一区| 日韩欧美一区中文| 欧美自拍丝袜亚洲| 99久久精品国产一区| 国产一区 二区 三区一级| 日韩精品亚洲一区| 亚洲专区一二三| ●精品国产综合乱码久久久久| 精品国产一区二区三区久久久蜜月| 欧美做爰猛烈大尺度电影无法无天| 国产不卡在线视频| 精一区二区三区| 日韩激情在线观看| 亚洲电影一级片| 一区二区三区中文字幕在线观看| 日本一区二区三区国色天香| 精品国产一区二区在线观看| 91麻豆精品国产| 欧美久久久久中文字幕| 欧美视频一区二区三区在线观看 | 亚洲欧美激情一区二区| 国产亲近乱来精品视频| 久久伊人蜜桃av一区二区| 日韩欧美区一区二| 日韩午夜精品电影| 日韩欧美国产三级| 欧美一级在线观看| 日韩欧美专区在线| 337p日本欧洲亚洲大胆精品 | 国产精品一区二区三区四区 | 久久久精品国产免大香伊| 欧美成人艳星乳罩| 久久影视一区二区| 国产精品三级视频| 国产精品久久久久一区二区三区| 国产精品蜜臀在线观看| 亚洲视频一区在线观看| 一区二区三区四区中文字幕| 一区二区激情小说| 奇米色一区二区三区四区| 麻豆精品在线看| 国产99精品视频| 97久久精品人人爽人人爽蜜臀| 色婷婷av一区二区三区软件| 欧美怡红院视频| 欧美一区二区三区影视| 欧美精品一区二区三| 国产精品素人一区二区| 亚洲视频在线一区| 日本午夜一本久久久综合| 国产一区二区看久久| 91在线一区二区三区| 欧美美女黄视频| 久久欧美一区二区| 亚洲欧美一区二区三区孕妇| 日韩精品1区2区3区| 大胆欧美人体老妇| 欧美日韩国产一级片| 久久综合久久久久88| 一区二区三区欧美久久| 久久国产精品一区二区| 91免费在线视频观看| 精品日韩欧美一区二区| 亚洲免费观看高清完整版在线 | 国产91丝袜在线观看| 在线观看一区不卡| 久久五月婷婷丁香社区| 一区二区在线观看视频| 国产一区二区在线观看视频| 日本高清视频一区二区| 久久这里只有精品6| 亚洲成人av一区二区| a级精品国产片在线观看| 欧美一区二区三区免费观看视频| 国产精品丝袜91| 精品无人区卡一卡二卡三乱码免费卡| 91亚洲精品久久久蜜桃网站| 精品国产伦理网| 亚洲高清免费在线| 成人动漫视频在线| 精品99999| 天堂蜜桃91精品| 色婷婷久久久亚洲一区二区三区| 国产欧美一区二区精品婷婷| 免费看日韩a级影片| 欧美优质美女网站| 成人欧美一区二区三区视频网页 | 日韩中文字幕区一区有砖一区| 成人一区二区三区| 欧美精品一区二区三区在线播放| 婷婷夜色潮精品综合在线| 91蝌蚪porny| 国产精品不卡在线| 国产一区福利在线| 欧美成人r级一区二区三区| 亚洲va国产va欧美va观看| 97久久超碰国产精品| 中文字幕一区在线观看视频| 国产成人免费网站| 久久久久久麻豆| 国产一区二区三区国产| 精品国产123| 久久99国产精品免费网站| 日韩一区二区三区视频在线 | 日韩精品一区二区三区视频播放 | 成人av免费在线播放| 国产日韩综合av| 国产精品一区二区在线播放 | 日韩一二三区视频| 久久99久久久久久久久久久| 日韩亚洲欧美一区| 蜜臀va亚洲va欧美va天堂| 欧美岛国在线观看| 国产主播一区二区| 国产精品美女久久久久av爽李琼| 成人激情午夜影院| 亚洲乱码国产乱码精品精可以看| 欧洲亚洲精品在线| 一区二区不卡在线播放| 欧美日韩成人在线| 美日韩一区二区| 欧美精品一区二区三区蜜桃| 国产91精品露脸国语对白| 国产精品电影一区二区| 97久久精品人人澡人人爽| 一区二区在线看| 欧美一二三在线| 成人夜色视频网站在线观看| 依依成人综合视频| 欧美大片免费久久精品三p| 国产成人av自拍| 又紧又大又爽精品一区二区| 欧美一区二区在线视频| 国产99精品视频| 亚洲精品高清在线| 日韩欧美中文字幕公布| 国产**成人网毛片九色| 一区二区三区精品在线观看| 欧美久久久久久久久中文字幕| 久久精品99国产国产精| 成人免费在线观看入口| 欧美剧在线免费观看网站| 国产精品一区二区在线看| 亚洲精品少妇30p| 久久久久一区二区三区四区| 欧美午夜一区二区| 国产精品123区|