最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux Shell腳本系列教程(二):終端打印命令詳解

 更新時(shí)間:2015年06月02日 14:55:37   投稿:junjie  
這篇文章主要介紹了Linux Shell腳本系列教程(二):終端打印命令詳解,本文著重講解了echo終端打印、printf終端打印兩個(gè)打印出輸出命令,需要的朋友可以參考下

終端打印

終端是交互式工具,用戶可以通過(guò)它與shell環(huán)境進(jìn)行交互。在終端中打印文本是大多數(shù)shell腳本和工具日常需要執(zhí)行的基本任務(wù)。通過(guò)終端打印,人們可以知道系統(tǒng)的運(yùn)行狀態(tài),這對(duì)用戶來(lái)說(shuō)是至關(guān)重要的。

echo終端打印

復(fù)制代碼 代碼如下:

echo "Welcome to Bash"
echo 'Welcome to Bash'
echo  Welcome to Bash

以上三種方法的效果是一樣的,輸出內(nèi)容都是“Welcome to Bash”,并在末尾添加換行符。在默認(rèn)情況下,echo在每次調(diào)用后會(huì)添加一個(gè)換行符,而無(wú)需手動(dòng)輸入換行符。此處,建議養(yǎng)成一種習(xí)慣,對(duì)于其他的方法了解即可。

使用雙引號(hào)時(shí)的限制

使用雙引號(hào)輸出字符串時(shí),字符串內(nèi)不能含有特殊字符(!),或者要在特殊字符前加轉(zhuǎn)義字符\。使用單引號(hào)或者不使用引號(hào),也可以正常輸出特殊字符。

復(fù)制代碼 代碼如下:

echo "cannot include !"   #這種情況下將會(huì)報(bào)錯(cuò)
echo "cannot include \!"  #這種情況下可以正常輸出!
echo cannot include !     #這種情況下可以正常輸出!
echo 'cannot include !'   #這種情況下可以正常輸出!

使用單引號(hào)的限制
在使用單引號(hào)輸出字符串時(shí),變量替換將會(huì)失效。使用雙引號(hào)或者不使用引號(hào)可以正常輸出被替換的變量。

復(fù)制代碼 代碼如下:

var="abcd"
echo '1234$var'          #這種情況下將輸出 1234$var
echo 1234$var            #這種情況下將輸出 1234abcd
echo "1234$var"          #這種情況下將輸出 1234abcd

不使用引號(hào)時(shí)的限制

在不使用引號(hào)輸出字符串的情況下,無(wú)法顯示分號(hào)(;),因?yàn)榉痔?hào)在Bash中被用作命令定界符。使用單引號(hào)或者雙引號(hào)可以輸出分號(hào)。

復(fù)制代碼 代碼如下:

echo hello;hello  #第一個(gè)hello被當(dāng)成字符串輸出,第二個(gè)被當(dāng)成命令

printf終端打印

printf使用的參數(shù)和C語(yǔ)言中的printf函數(shù)一樣,使用引用文本或由空格分隔的參數(shù)。在printf函數(shù)中,我們可以使用格式化字符串,指定字符串的寬度、左右對(duì)齊方式等。在默認(rèn)情況下,printf不會(huì)在行尾添加換行符,需要手動(dòng)添加。

復(fù)制代碼 代碼如下:

printf "Hello world"                    #使用引用字符
printf "%-5s %-10s %-4s\n" No Name Mark #指定寬度及左對(duì)齊方式
printf "%-5s %-10s %-4s\n" 1 Sarath 80.3456

工作原理

%s,%c,%d,%f都是格式替換字符,其所對(duì)應(yīng)的參數(shù)可以置于帶引號(hào)的格式字符串之后。
%-5s指明了一個(gè)格式為左對(duì)齊且寬度為5的字符串替換,-表示左對(duì)齊,若不指定對(duì)齊方式,則默認(rèn)采用右對(duì)齊方式。寬度指定了保留給某個(gè)變量的字符數(shù),如果要輸出的內(nèi)容寬度不足,則用空格填充,若多于指定寬度,則超出部分被丟棄。
%4.2f表示指定小數(shù)可以保留兩個(gè)小數(shù)位,要注意的是4并不代表整數(shù)部分的位數(shù),也不代表整數(shù)位和小數(shù)位的和。

注意:使用echo和printf的命令選項(xiàng)時(shí),要保證選項(xiàng)出現(xiàn)在命令行內(nèi)所有字符串之前,否者Bash會(huì)將選項(xiàng)視為另一個(gè)字符串。

補(bǔ)充內(nèi)容

在echo中使用轉(zhuǎn)義字符

在默認(rèn)情況下,echo會(huì)自動(dòng)在輸出字符串末尾添加換行符,可以使用-n選項(xiàng)來(lái)忽略結(jié)尾的換行符。echo同樣接受雙引號(hào)字符串內(nèi)的轉(zhuǎn)義序列作為參數(shù)。如果需要使用轉(zhuǎn)義序列,則采用echo -e “包含轉(zhuǎn)義序列的字符串”這種形式,在ubuntu14.04中,不需要添加-e選項(xiàng),若添加,則-e選項(xiàng)會(huì)被作為字符串的一部分輸出。

復(fù)制代碼 代碼如下:

echo "Hello World"           #將在末尾添加換行符
echo -n "Hello Wordl"        #末尾不會(huì)添加換行符
echo -e "1\t2\t3"            #將輸出 -e 1  2   3
echo "1\t2\t3"               #將輸出1  2   3

打印彩色輸出

在終端中生成顏色輸出,有助于我們從大量文本中快速定位特定的信息,我們可以使用轉(zhuǎn)義序列來(lái)實(shí)現(xiàn)顏色輸出。

每種文本顏色都有對(duì)應(yīng)的顏色碼。

復(fù)制代碼 代碼如下:

echo -e "\e[1;31m This is red text \e[0m"
echo -e "\e[1;41m This is red background \e[0m"
#ubuntu14.04不支持這種方式改變文本或者背景顏色

相關(guān)文章

最新評(píng)論

昂仁县| 若羌县| 深圳市| 武乡县| 株洲市| 阳江市| 桑植县| 无为县| 喀喇| 江达县| 孟村| 闸北区| 新闻| 奉新县| 茌平县| 恩施市| 鄂州市| 镶黄旗| 鄂托克前旗| 洪雅县| 大连市| 九龙城区| 和静县| 滦平县| 深州市| 雅江县| 弥勒县| 扬中市| 宜都市| 区。| 闸北区| 西峡县| 沅江市| 剑阁县| 云和县| 涟水县| 高尔夫| 晋宁县| 五华县| 宁武县| 陈巴尔虎旗|