轉(zhuǎn)義是引用單字符的方法.在單個(gè)字符前面的轉(zhuǎn)義符(\ 倒斜杠)告訴shell不必特殊解釋這個(gè)字符,只把它當(dāng)成字面上的意思.?
但在一些命令和軟件包里,比如說echo和sed,轉(zhuǎn)義一個(gè)字符可能會(huì)引起一個(gè)相反的效果--因?yàn)樗鼈兛赡苡|發(fā)那個(gè)字符的特殊意思.??
---引自 abs
一些特殊的轉(zhuǎn)義序列:
?
(以 help echo 的結(jié)果為藍(lán)本, 添加部分注釋, 別人寫的,無為有修改)
\a? ?? ???終端響鈴(小機(jī)不支持...同 \x07, \07)
\b? ?? ???退格, 光標(biāo)左移一格.
\c? ?? ???禁止行尾自動(dòng)換行, 對(duì)echo有效, printf無效
\e? ?? ???ESC轉(zhuǎn)義序列(見下, 同\E, \033, \x1b; 就是ESC鍵按下的效果)
\f? ?? ???換頁(光標(biāo)移到下一行的相同列)
\n? ?? ???換行(光標(biāo)移動(dòng)下一行行首)
\r? ?? ???回車(光標(biāo)回到本行行首)
\t? ?? ???制表符(TAB鍵按下的效果...)
\v? ?? ???縱向制表符(同\f)
\x00? ?? ???十六機(jī)制數(shù)的值(兩位[0-9a-fA-F]的十六進(jìn)制數(shù)).
\\? ?? ???倒斜杠...
\000? ?? ???八進(jìn)制數(shù)的值(以數(shù)字開頭, 限最多3位[0-7]的數(shù)字)
PS 轉(zhuǎn)義序列 (prompt symbol, bash提示符, 無為未驗(yàn)證):
?
(出自?
http://www.linuxselfhelp.com/how ... h-Prompt-HOWTO.html
?, 翻譯有參考)
? ?? ? \a? ???響鈴
? ?? ? \d? ???日期,?格式為 "Weekday??Month??Date", ("Tue May 26")
? ?? ? \e? ???ESC轉(zhuǎn)義序列.
? ?? ? \h? ???主機(jī)名的第一部分. (froms)
? ?? ? \H? ???完整主機(jī)名. (froms.vuuvsoft.com)
? ?? ? \n? ???換行
? ?? ? \r? ???回車
? ?? ? \s? ???shell的名稱. 根據(jù)路徑獲取. 如/usr/bin/bash --> "bash"
? ?? ? \t? ???時(shí)間, 格式 HH:MM:SS 24小時(shí)制. ("23:01:01")
? ?? ? \T? ???時(shí)間, 格式 HH:MM:SS 12小時(shí)制. ("11:01:01")
? ?? ? \@? ???帶有 am/pm 的 12小時(shí)制 時(shí)間
? ?? ? \u? ???用戶名.? ?? ???("root")
? ?? ? \v? ???bash版本號(hào) ("2.00")
? ?? ? \V? ???bash版本號(hào)及補(bǔ)丁級(jí)別 ("2.00.0")
? ?? ? \w? ???當(dāng)前工作目錄完整路徑 ("/home/froms")
? ?? ? \W? ???當(dāng)前工作目錄目錄名? ?? ???("froms")
? ?? ? \!? ???當(dāng)前命令在歷史緩沖區(qū)中的位置
? ?? ? \#? ???命令編號(hào)(只要您鍵入內(nèi)容,它就會(huì)在每次提示時(shí)累加)
? ?? ? \$? ???如果你是root, 顯示 "#"; 否則, "$".
? ?? ? \nnn? ?八進(jìn)制數(shù)
? ?? ? \\? ???倒斜杠
? ?? ? \[? ???這個(gè)序列應(yīng)該出現(xiàn)在不移動(dòng)光標(biāo)的字符序列(如顏色轉(zhuǎn)義序列)之前. 它使 bash 能夠正確計(jì)算自動(dòng)換行.?
? ?? ? \]? ???這個(gè)序列應(yīng)該出現(xiàn)在非打印字符序列之后. ( \[\e[32;47m\] )
? ?? ??(無為注: 當(dāng)然, 你也可以用命令替換來顯示時(shí)間日期: PS1="$(date +%x-%X)")
? ???
( 以下內(nèi)容來自 man console_codes 的結(jié)果, 翻譯有修改, 并刪除部分無法在小機(jī)使用的序列. )
ESC 轉(zhuǎn)義序列:
? ?? ???c? ?? ???重置終端.
? ?? ???D? ?? ???換頁(縱向制表符).
? ?? ???E? ?? ???換行.
? ?? ???H? ?? ???設(shè)置當(dāng)前列為制表位. (未驗(yàn)證)
? ?? ???M? ?? ???翻轉(zhuǎn)換行, 向上換頁(Reverse linefeed).
? ?? ???7? ?? ???存儲(chǔ)當(dāng)前狀態(tài)(光標(biāo)坐標(biāo), 屬性).
? ?? ???8? ?? ???恢復(fù)上一次儲(chǔ)存的設(shè)置
? ?? ???[? ?? ???(見下)
? ?? ???#8? ?? ???屏幕校準(zhǔn)測(cè)試 - 以E填充屏幕.
? ?? ???例: printf "\e#8"
ESC[ 轉(zhuǎn)義序列:
??
? ?? ???A? ?? ???光標(biāo)上移指定行.?
? ?? ???B? ?? ???光標(biāo)下移指定行.
? ?? ???C? ?? ???光標(biāo)右移指定列.??\e[3C 右移3列
? ?? ???D? ?? ???光標(biāo)左移指定列.
? ?? ???G? ?? ???光標(biāo)移動(dòng)到當(dāng)前行的指定列.
? ?? ???H? ?? ???光標(biāo)移動(dòng)到指定行和列(行列起始計(jì)數(shù)為1, tput cup 的起始計(jì)數(shù)為0).??
? ?? ?? ?\e[y;xH y=3; x=5 第三行第五列.?
? ?? ???J? ?? ???刪除內(nèi)容(默認(rèn)從當(dāng)前光標(biāo)處到結(jié)尾).
? ?? ?? ?\e[1J:? ?? ???刪除從開始到光標(biāo)處的內(nèi)容.
? ?? ?? ?\e[2J:? ?? ???清空整個(gè)屏幕.
? ?? ???K? ?? ???刪除行(默認(rèn)從當(dāng)前光標(biāo)處到行尾).
? ?? ?? ?\e[1K:? ?? ???刪除從行首到當(dāng)前光標(biāo)處的內(nèi)容.
? ?? ?? ?\e[2K:? ?? ???刪除整行.
? ?? ?? ?
? ?? ???d? ?? ???光標(biāo)移動(dòng)到當(dāng)前列指定行
? ?? ???f? ?? ???同\H.? ?
? ?? ???h? ?? ???設(shè)置模式(見下).
? ?? ???l? ?? ???重置模式(見下).
? ?? ???m? ?? ???設(shè)置屬性(見下).?
? ?? ???n? ?? ???狀態(tài)報(bào)告(見下).
? ?? ???r? ?? ???設(shè)置滾動(dòng)范圍; 參數(shù)為首行和末行.(好像不能用...)
? ?? ???s? ?? ???存儲(chǔ)光標(biāo)位置.
? ?? ???u? ?? ???恢復(fù)光標(biāo)位置.
設(shè)置圖形屬性:
? ?? ???\e[ <屬性數(shù)值> m 設(shè)置顯示屬性. 同樣的序列可以設(shè)置一個(gè)或多個(gè)屬性, 以 ";" 分開.
? ?? ???
? ??? ? 特效代碼:?
? ?? ???0 清除所有屬性
? ?? ???1 高亮(并加粗, 可惜小機(jī)沒有加粗)
? ?? ???2 暗色(以一般亮度顯示, 小機(jī)不支持)
? ?? ???4 下劃線
? ?? ???5 閃爍(小機(jī)閃爍頻率太低, 無用)
? ?? ???7 反顯.
? ?? ???8 消隱(一段字不顯示, 小機(jī)不支持)
? ?? ???22 正常亮度
? ?? ???24 關(guān)閉下劃線
? ?? ???25 不閃爍
? ?? ???27 不反顯
? ?? ?? ?
? ???? ?顏色代碼前綴:?
? ?? ???3: 前景 9: 加亮前景?
? ?? ???4: 背景 10: 加亮背景
? ?? ???顏色代碼后綴(加亮效果):
? ?? ???0 黑(深灰)
? ?? ???1 紅(亮紅)
? ?? ???2 綠(亮綠)
? ?? ???3 棕(黃色)
? ?? ???4 藍(lán)(淺藍(lán))
? ?? ???5 紫(淡紫)(這個(gè)看不出來)
? ?? ???6 青(亮青)
? ?? ???7 淺灰(白)
? ?? ???9 默認(rèn)顏色(限3,4前綴)
? ?? ?? ?
? ?? ??
示例:
? ?? ???綠色前景, 亮青背景, 下劃線. 0表示清除之前設(shè)置的所有屬性.
? ?? ???\e[0;32;106;4m
? ?? ???打印一段內(nèi)容后, 不要下劃線了
? ?? ???\e[24m
? ?? ???又想反顯了(就是綠色背景, 亮青前景)
? ?? ???\e[7m
? ?? ???那么, 怎么除去反顯呢?
狀態(tài)報(bào)告:
? ?? ???\e[5n
? ?? ???設(shè)備狀態(tài)報(bào)告(DSR): 以\e[0n 應(yīng)答(終端準(zhǔn)備好).?
? ?? ???\e[6n
? ?? ???光標(biāo)位置報(bào)告(CPR): 以\e[y;xR 應(yīng)答, 這里 x,y 指光標(biāo)位置.?
設(shè)置模式( 用l替換最后一個(gè)h就是重置模式 )
? ?? ???\e[?5h? ?? ???全屏反顯.
? ?? ???\e[?25h? ?? ???顯示終端光標(biāo)
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
