Shell學習【printf與echo】
Shell printf命令
echo命令主要用於字串的輸出,可以是不要引號但不支援轉義,雙引號可用於跳脫字元,
printf命令也是輸出命令但是要比echo 的移植性好,制定字串的寬度,左右對其方式;可以格式控制字元,指定引數列表,引數空格區分,語法結構:
printf format-string [arguments...]
#!/bin/bash #author:zrc #自動換行的對比 echo -e "OK! \n" # -e 開啟轉義 \n 開啟換行 echo "is a echo" echo "----------------------------" printf "good , shell,\n,python" #輸出: OK! is a echo ---------------------------- good , shell, ,python
printf格式化
#!/bin/bash #author:zrc printf "%-10s %-8s %-4s\n" id name age printf "%-10s %-8s %-4s\n" 1 jeey 18 printf "%-10s %-8s %-4.2f\n" 2 tom 19 printf "%-10s %-8s %-4.2f\n" 3 king 20 printf "%-10s %-8s %-4.2f\n" 4 quren 33.333 #輸出 id name age 1 jeey 18 2 tom 19.00 3 king 20.00 4 quren 33.33
%-10s %-8s %-4s\n 都是針對引數類別的格式化 %-10s -- 第一位引數必須是string字串(-10 表示寬度為10個字元且左對齊,沒有-表示右對齊;如果不是字元和字串 就報錯 ) %-8s -- 第二位引數必須是string字串(-8 表示寬度為8個字元且左對齊,沒有-表示右對齊;如果不是字元和字串 就報錯 ) %-4s -- 第三位引數必須是string字串(-4 表示寬度為4個字元且左對齊,沒有-表示右對齊;如果不是字元和字串 就報錯 ) %-4.2f -- 第三位引數必須是float浮點(-4.2 表示寬度為4個格式化小數,保留後面兩位,沒有-表示右對齊;如果不是整數 就報錯 )
printf案例
更多案例:
#!/bin/bash #author:zrc #沒有引號 printf %s'\n' aaaaa #單引號 printf '%d %s\n' '123456' 'aaaaa' #雙引號 printf "%d %s\n" '123456' 'bbbbb' #超過指定參format-string數,會被重用 printf "%d %s\n" '123456' 'aaaaa' '456789' 'ccccc' #如果沒有引數,那麼%s用NULL代替,%d用0代替 printf "%s --- %d"'\n' #%c 自動擷取字串的第一個字元作為結果輸出 printf "%d %c\n" '123456' 'bbbbb'
%d %s %c %f 都是針對引數類別的格式化 %d -- 十進位制整數(對應引數位必須是整數,如果不是就報錯 ) %c --Char字元(對應引數位必須是字串或者字元型,如果不是就報錯 )
prinf轉義符
序列 | 說明 |
---|---|
\a | 警告字元,通常為ASCII的BEL字元 |
\b | 後退 |
\c | 抑制(不顯示)輸出結果中任何結尾的換行字元(只在%b格式指示符控制下的引數字串中有效),而且,任何留在引數裡的字元、任何接下來的引數以及任何留在格式字串中的字元,都被忽略 |
\f | 換頁(formfeed) |
\n | 換行 |
\r | 回車(Carriage return) |
\t | 水平製表符 |
\v | 垂直製表符 |
\\ | 一個字面上的反斜槓字元 |
Shell echo命令
#!/bin/bash #author:zrc #顯示字串 echo "this is string" #顯示跳脫字元 echo "\"this is string\"" #顯示結果定向到檔案,符號>>追加到檔案 echo "this is string" > file #顯示輸入變數 read name echo -e "this is ${name} \n" # -e開啟轉義 -n換行 echo -e "this is ${name} \c" # -e開啟轉義 -c不換行 read password -p "請輸入一段文字:" -n 6 -t 5 -s echo -e "\n password is $password" 引數說明: -p 輸入提示文字 -n 輸入字元長度限制(達到6位,自動結束) -t 輸入限時 -s 隱藏輸入內容
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31441024/viewspace-2640652/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux shell 中 printf 與 echo的區別Linux
- Shell printf 命令
- PHP中的輸出:echo、print、printf、sprintf、pPHP
- 『忘了再學』Shell基礎 — 3、echo命令的介紹與使用
- Shell echo命令介紹
- [shell基礎]——echo命令
- shell學習
- 學習Shell 教程
- Shell 變數學習變數
- Shell學習【test命令】
- Shell學習【運算子】
- shell學習筆記筆記
- echo與函式函式
- 《Shell指令碼學習指南》學習筆記指令碼筆記
- shell學習總結-4
- shell學習總結-1
- shell學習總結-2
- shell學習總結-3
- Shell學習【變數使用】變數
- Shell學習【流程控制】
- shell學習-常用語句
- Shell(Bash)學習· 總章
- shell 學習之for語句
- 【Shell】echo與 sqlplus命令相結合快速獲得資料庫資訊SQL資料庫
- Shell學習【引數傳遞】
- Shell指令碼學習筆記指令碼筆記
- Linux學習(Shell基礎)Linux
- Shell 學習筆記 基礎筆記
- [Shell] awk學習(1)-pattern{action}
- [Shell] awk學習(2)-pattern{action}
- POSIX-shell學習筆記筆記
- shell去掉echo和cat 的行前空格或製表符
- 如何學習shell程式設計?Linux運維學習shell程式設計是什麼程式設計Linux運維
- printf命令
- Linux學習-shell基礎02Linux
- Linux學習之(shell展開)Linux
- linux shell 學習摘記(3)Linux
- linux shell 學習摘記(4)Linux