- 相關(guān)推薦
Linux系統(tǒng)shell工具打印輸出
shell腳本都是以#!/bin/bash開頭;這是固定的寫法,其中/bin/bash是bash命令的路徑。那么Linux系統(tǒng)shell工具如何打印輸出呢?跟yjbys小編一起來看看吧!
一般都會通過chmod授予shell腳本的可執(zhí)行權(quán)限。
在shell腳本中的打印輸出通常會有echo和printf兩種,前者會自動換行。
在shell中如果用雙引號("")作為打印輸出的內(nèi)容時,如果雙引號中有特殊字符需要在特殊字符前加上轉(zhuǎn)義字符\,當(dāng)然也可以使用單引號或者不使用引號直接輸出,使用單引號或者不使用就不需要用到轉(zhuǎn)義字符。
格式替代符
有一些常用的格式替代符會經(jīng)常在打印輸出中被用到,格式替代符只能用在printf輸出中。
%-5s:表示5個字符寬度,其中的-表示左對齊
%-4.2f:其中的f表示浮點(diǎn)型,4.2代表長度為4個字符且小數(shù)點(diǎn)2位,如果小數(shù)點(diǎn)超過2會進(jìn)行四舍五入,-表示左對齊。
整形:
%d:整數(shù)的參數(shù)會被轉(zhuǎn)成一有符號的十進(jìn)制數(shù)字
%u:整數(shù)的參數(shù)會被轉(zhuǎn)成一無符號的十進(jìn)制數(shù)字
%o:整數(shù)的參數(shù)會被轉(zhuǎn)成一無符號的八進(jìn)制數(shù)字
%x:整數(shù)的參數(shù)會被轉(zhuǎn)成一無符號的十六進(jìn)制數(shù)字,并以小寫abcdef表示
%X:整數(shù)的參數(shù)會被轉(zhuǎn)成一無符號的十六進(jìn)制數(shù)字,并以大寫ABCDEF表示
浮點(diǎn)型數(shù):
%fdouble型的參數(shù)會被轉(zhuǎn)成十進(jìn)制數(shù)字,默認(rèn)取小數(shù)點(diǎn)以下六位,四舍五入
%edouble型的參數(shù)以指數(shù)形式打印,有一個數(shù)字會在小數(shù)點(diǎn)前,六位數(shù)字在小數(shù)點(diǎn)后,而在指數(shù)部分會以小寫的e來表示.
%E與%e作用相同,唯一區(qū)別是指數(shù)部分將以大寫的E來表示.
%gdouble型的參數(shù)會自動選擇以%f或%e的格式來打印,其標(biāo)準(zhǔn)是根據(jù)欲打印的數(shù)值及所設(shè)置的有效位數(shù)來決定.
%G與%g作用相同,唯一區(qū)別在以指數(shù)形態(tài)打印時會選擇%E格式.
字符及字符串:
%c讀字符串的第一個字符
%s輸出指定寬度的字符內(nèi)容.
%p如果是參數(shù)是"void*"型指針則使用十六進(jìn)制格式顯示
打印輸出
在寫腳本的時候更多的會使用echo作為打印輸出,且習(xí)慣性的會使用雙引號。
echo
[root@localhosttmp]#echo"helloword"
helloword
printf
默認(rèn)printf是不換行的
[root@localhosttmp]#printf"helloword"
helloword[root@localhosttmp]#
需要換行加上\n參數(shù)
[root@localhosttmp]#printf"helloword\n"
helloword
[root@localhosttmp]#
編寫shell腳本
vimscrip.sh
#!/bin/bash
printf"%-5s%-10s%-4s\n"NoNameMark;
printf"%-5s%-10s%-4.2f\n"1aaa10.111;
printf"%-5s%-10s%-4.2f\n"2bbb20.146;
授予腳本執(zhí)行權(quán)限:chmodu+xscrip.sh
如果使用echo就不能用格式替代符
#!/bin/bash
echoNoNameMark;
echo1aaa10.111;
echo2bbb20.146;
注意事項
在echo,printf中使用-e,-n參數(shù)時,-e,-n應(yīng)該出現(xiàn)在命令行其它字符之前。
-e:如果要在echo的雙引號使用轉(zhuǎn)義序列作為參數(shù)得需要使用-e參數(shù)
-n:忽略末尾的換行符
不使用-e參數(shù)
[root@localhosttmp]#echo"1\n2"
1\n2
使用-e參數(shù)
[root@localhosttmp]#echo-e"1\n2"
轉(zhuǎn)義序列:
/n:換行
/t:tab鍵
彩色輸出
字體顏色包括:0=重置,30=黑色,31=紅色,32=綠色,33=黃色,34=藍(lán)色,35=洋紅,36=青色,37=白色
背景顏色包括:0=重置,40=黑色,41=紅色,42=綠色,43=黃色,44=藍(lán)色,45=洋紅,46=青色,47=白色
echo-e"\e[1;32mhelloword\e[0m"
\e[1;32m:將字體顏色設(shè)為綠色,\e[0m:將顏色重置
【Linux系統(tǒng)shell工具打印輸出】相關(guān)文章:
linux shell編程的簡介11-01
linux shell編程對變量的賦值10-25
Linux shell常用命令匯總10-11
Linux下程序的Profile工具04-27
linux系統(tǒng)集群的架構(gòu)與實(shí)現(xiàn)06-29
Linux 系統(tǒng)硬盤優(yōu)化的方法05-20
Linux系統(tǒng)管理:linux修改鍵盤按鍵09-30
Linux文件查找工具find全解讀08-17