Shell 終端打印


參考書(shū)籍 Linux shell 腳本攻略


能夠執(zhí)行打印的方法有很多,格式也各不相同,主要有如下幾個(gè):

  • echo
  • printf
echo命令

echo是用于終端打印的基本命令。

  • 默認(rèn)情況下,echo在每次調(diào)用后會(huì)添加一個(gè)換行符。可使用標(biāo)志-n來(lái)忽略結(jié)尾的換行符。
  • 可接受雙引號(hào)字符串內(nèi)的轉(zhuǎn)義序列作為參數(shù),采用echo -e "包含轉(zhuǎn)義序列的字符串"的形式。如: echo -e "1\t2\t3"
  • 三種打印方法:
$ echo "Hello world" #帶雙引號(hào)的文本
Hello world
$ echo Hello world #不帶雙引號(hào)的文本
Hello world
$ echo 'Hello world' #帶單引號(hào)的文本
Hello world

每種方法的副作用如下:

  • 如果希望打印 !號(hào),就不要將其放入雙引號(hào),或者加入轉(zhuǎn)義字符\!轉(zhuǎn)義
$ echo Hello world!
$ echo 'Hello world!
$ echo "Hello world\!"
  • 不帶引號(hào)的echo中,無(wú)法在要顯示的文本中使用分號(hào);
  • 使用單引號(hào)的echo時(shí),Bash不會(huì)對(duì)單引號(hào)中的變量求值,而只是原樣顯示
$ var=3
$ echo '$var'
$var
$ echo "$var"
3
printf命令

printf使用的參數(shù)和C語(yǔ)言中的printf函數(shù)一樣。

  • printf使用引用文本或由空格分隔的參數(shù)。
    printf可使用格式化字符串,可以指定字符串的寬度、左右對(duì)其方式等。
  • 不會(huì)自動(dòng)添加換行符,需要在需要的時(shí)候手動(dòng)添加
#!/bin/bash
#文件名: printf.sh
printf "%-5s %-10s %-4s \n" No Name Mark
printf "%-5s %-10s %-4.2f\n" 1 Sarach 80.3456
printf "%-5s %-10s %-4.2f\n" 2 James 90.9989

格式化輸出如下:

No    Name       Mark
1     Sarach     80.35
2     James      91.00
  • %s %c %d %f都是格式替代符,其所對(duì)應(yīng)的參數(shù)可以置于帶引號(hào)的格式字符串之后。
  • %-5s-表示左對(duì)其,若不用-指定對(duì)其形式,則默認(rèn)使用右對(duì)其形式。數(shù)字指定了寬度。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容