終端打印
終端是交互式工具,用戶可以通過它與shell環(huán)境進行交互。在終端中打印文本是大多數(shù)shell腳本和工具日常需要執(zhí)行的基本任務(wù)。通過終端打印,人們可以知道系統(tǒng)的運行狀態(tài),這對用戶來說是至關(guān)重要的。
echo終端打印
 代碼如下:
echo "Welcome to Bash"
echo 'Welcome to Bash'
echo  Welcome to Bash
以上三種方法的效果是一樣的,輸出內(nèi)容都是“Welcome to Bash”,并在末尾添加換行符。在默認情況下,echo在每次調(diào)用后會添加一個換行符,而無需手動輸入換行符。此處,建議養(yǎng)成一種習(xí)慣,對于其他的方法了解即可。
使用雙引號時的限制
使用雙引號輸出字符串時,字符串內(nèi)不能含有特殊字符(!),或者要在特殊字符前加轉(zhuǎn)義字符/。使用單引號或者不使用引號,也可以正常輸出特殊字符。
 代碼如下:
echo "cannot include !"   #這種情況下將會報錯
echo "cannot include /!"  #這種情況下可以正常輸出!
echo cannot include !     #這種情況下可以正常輸出!
echo 'cannot include !'   #這種情況下可以正常輸出!
使用單引號的限制 
在使用單引號輸出字符串時,變量替換將會失效。使用雙引號或者不使用引號可以正常輸出被替換的變量。
 代碼如下:
var="abcd"
echo '1234$var'          #這種情況下將輸出 1234$var
echo 1234$var            #這種情況下將輸出 1234abcd
echo "1234$var"          #這種情況下將輸出 1234abcd
不使用引號時的限制
在不使用引號輸出字符串的情況下,無法顯示分號(;),因為分號在Bash中被用作命令定界符。使用單引號或者雙引號可以輸出分號。
 代碼如下:
echo hello;hello  #第一個hello被當(dāng)成字符串輸出,第二個被當(dāng)成命令
printf終端打印
printf使用的參數(shù)和C語言中的printf函數(shù)一樣,使用引用文本或由空格分隔的參數(shù)。在printf函數(shù)中,我們可以使用格式化字符串,指定字符串的寬度、左右對齊方式等。在默認情況下,printf不會在行尾添加換行符,需要手動添加。
 代碼如下:
printf "Hello world"                    #使用引用字符
printf "%-5s %-10s %-4s/n" No Name Mark #指定寬度及左對齊方式
printf "%-5s %-10s %-4s/n" 1 Sarath 80.3456
工作原理
%s,%c,%d,%f都是格式替換字符,其所對應(yīng)的參數(shù)可以置于帶引號的格式字符串之后。 
%-5s指明了一個格式為左對齊且寬度為5的字符串替換,-表示左對齊,若不指定對齊方式,則默認采用右對齊方式。寬度指定了保留給某個變量的字符數(shù),如果要輸出的內(nèi)容寬度不足,則用空格填充,若多于指定寬度,則超出部分被丟棄。             
新聞熱點
疑難解答