亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      考試首頁(yè) | 考試用書 | 培訓(xùn)課程 | 模擬考場(chǎng) | 考試論壇  
        當(dāng)前位置:Linux認(rèn)證 > 綜合輔導(dǎo) > 文章內(nèi)容
        

      Linux教程簡(jiǎn)介(51)

       [ 2017年2月5日 ] 【

      Shell printf 命令

      上一章節(jié)我們學(xué)習(xí)了 Shell 的 echo 命令,本章節(jié)我們來(lái)學(xué)習(xí) Shell 的另一個(gè)輸出命令 printf。

      printf 命令模仿 C 程序庫(kù)(library)里的 printf() 程序。

      標(biāo)準(zhǔn)所定義,因此使用printf的腳本比使用echo移植性好。

      printf 使用引用文本或空格分隔的參數(shù),外面可以在printf中使用格式化字符串,還可以制定字符串的寬度、左右對(duì)齊方式等。默認(rèn)printf不會(huì)像 echo 自動(dòng)添加換行符,我們可以手動(dòng)添加 \n。

      printf 命令的語(yǔ)法:

      printf  format-string  [arguments...]

      參數(shù)說(shuō)明:

      • format-string: 為格式控制字符串
      • arguments: 為參數(shù)列表。

      實(shí)例如下:

      $ echo "Hello, Shell"
      Hello, Shell
      $ printf "Hello, Shell\n"
      Hello, Shell
      $

      接下來(lái),我來(lái)用一個(gè)腳本來(lái)體現(xiàn)printf的強(qiáng)大功能:

      #!/bin/bash
      # author:菜鳥教程
      # url:www.runoob.com
       
      printf "%-10s %-8s %-4s\n" 姓名 性別 體重kg  
      printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234 
      printf "%-10s %-8s %-4.2f\n" 楊過(guò) 男 48.6543 
      printf "%-10s %-8s %-4.2f\n" 郭芙 女 47.9876 

      執(zhí)行腳本,輸出結(jié)果如下所示:

      姓名     性別   體重kg
      郭靖     男      66.12
      楊過(guò)     男      48.65
      郭芙     女      47.99

      %s %c %d %f都是格式替代符

      %-10s 指一個(gè)寬度為10個(gè)字符(-表示左對(duì)齊,沒有則表示右對(duì)齊),任何字符都會(huì)被顯示在10個(gè)字符寬的字符內(nèi),如果不足則自動(dòng)以空格填充,超過(guò)也會(huì)將內(nèi)容全部顯示出來(lái)。

      %-4.2f 指格式化為小數(shù),其中.2指保留2位小數(shù)。

      更多實(shí)例:

      #!/bin/bash
      # author:菜鳥教程
      # url:www.runoob.com
       
      # format-string為雙引號(hào)
      printf "%d %s\n" 1 "abc"
      
      # 單引號(hào)與雙引號(hào)效果一樣 
      printf '%d %s\n' 1 "abc" 
      
      # 沒有引號(hào)也可以輸出
      printf %s abcdef
      
      # 格式只指定了一個(gè)參數(shù),但多出的參數(shù)仍然會(huì)按照該格式輸出,format-string 被重用
      printf %s abc def
      
      printf "%s\n" abc def
      
      printf "%s %s %s\n" a b c d e f g h i j
      
      # 如果沒有 arguments,那么 %s 用NULL代替,%d 用 0 代替
      printf "%s and %d \n" 

      執(zhí)行腳本,輸出結(jié)果如下所示:

      1 abc
      1 abc
      abcdefabcdefabc
      def
      a b c
      d e f
      g h i
      j  
       and 0
      將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問(wèn)考試網(wǎng) | 復(fù)制本頁(yè)地址,傳給QQ/MSN上的好友 | 申請(qǐng)鏈接 | 意見留言 TOP
      關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
      Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved