溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Shell學(xué)習(xí)【printf與echo】

發(fā)布時間:2020-08-19 08:25:19 來源:ITPUB博客 閱讀:146 作者:13545163656 欄目:建站服務(wù)器

Shell printf命令


echo命令主要用于字符串的輸出,可以是不要引號但不支持轉(zhuǎn)義,雙引號可用于轉(zhuǎn)義字符,


printf命令也是輸出命令但是要比echo 的移植性好,制定字符串的寬度,左右對其方式;可以格式控制字符,指定參數(shù)列表,參數(shù)空格區(qū)分,語法結(jié)構(gòu):

printf  format-string  [arguments...]


#!/bin/bash
#author:zrc
#自動換行的對比
echo  -e "OK! \n" # -e 開啟轉(zhuǎn)義 \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 都是針對參數(shù)類別的格式化
%-10s  -- 第一位參數(shù)必須是string字符串(-10 表示寬度為10個字符且左對齊,沒有-表示右對齊;如果不是字符和字符串 就報錯 )
%-8s   -- 第二位參數(shù)必須是string字符串(-8 表示寬度為8個字符且左對齊,沒有-表示右對齊;如果不是字符和字符串 就報錯 )
%-4s   -- 第三位參數(shù)必須是string字符串(-4 表示寬度為4個字符且左對齊,沒有-表示右對齊;如果不是字符和字符串 就報錯 )
%-4.2f -- 第三位參數(shù)必須是float浮點(-4.2 表示寬度為4個格式化小數(shù),保留后面兩位,沒有-表示右對齊;如果不是整數(shù) 就報錯 )


printf案例

更多案例:

#!/bin/bash
#author:zrc
#沒有引號
printf %s'\n' aaaaa 
#單引號
printf '%d %s\n' '123456' 'aaaaa'
#雙引號
printf "%d %s\n" '123456' 'bbbbb'
#超過指定參format-string數(shù),會被重用
printf "%d %s\n" '123456' 'aaaaa' '456789' 'ccccc'
#如果沒有參數(shù),那么%s用NULL代替,%d用0代替
printf "%s --- %d"'\n'
#%c 自動截取字符串的第一個字符作為結(jié)果輸出
printf "%d %c\n" '123456' 'bbbbb'
%d %s %c %f  都是針對參數(shù)類別的格式化
%d     -- 十進(jìn)制整數(shù)(對應(yīng)參數(shù)位必須是整數(shù),如果不是就報錯 )
%c     --Char字符(對應(yīng)參數(shù)位必須是字符串或者字符型,如果不是就報錯 )


prinf轉(zhuǎn)義符

序列 說明
\a 警告字符,通常為ASCII的BEL字符
\b 后退
\c 抑制(不顯示)輸出結(jié)果中任何結(jié)尾的換行字符(只在%b格式指示符控制下的參數(shù)字符串中有效),而且,任何留在參數(shù)里的字符、任何接下來的參數(shù)以及任何留在格式字符串中的字符,都被忽略
\f 換頁(formfeed)
\n 換行
\r 回車(Carriage return)
\t 水平制表符
\v 垂直制表符
\\ 一個字面上的反斜杠字符


Shell echo命令

#!/bin/bash
#author:zrc
#顯示字符串
echo "this is string"
#顯示轉(zhuǎn)義字符
echo "\"this is string\""
#顯示結(jié)果定向到文件,符號>>追加到文件
echo "this is string" > file
#顯示輸入變量
read name 
echo  -e "this is ${name} \n"  # -e開啟轉(zhuǎn)義 -n換行
echo  -e "this is ${name} \c"  # -e開啟轉(zhuǎn)義 -c不換行
read  password -p "請輸入一段文字:" -n 6 -t 5 -s
echo -e "\n password is $password"
參數(shù)說明:
 -p 輸入提示文字
 -n 輸入字符長度限制(達(dá)到6位,自動結(jié)束)
 -t 輸入限時
 -s 隱藏輸入內(nèi)容


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI