- 相關(guān)推薦
Linux系統(tǒng)shell工具打印輸出
shell腳本都是以#!/bin/bash開頭;這是固定的寫法,其中/bin/bash是bash命令的路徑。那么Linux系統(tǒng)shell工具如何打印輸出呢?跟yjbys小編一起來看看吧!
一般都會(huì)通過chmod授予shell腳本的可執(zhí)行權(quán)限。
在shell腳本中的打印輸出通常會(huì)有echo和printf兩種,前者會(huì)自動(dòng)換行。
在shell中如果用雙引號(hào)("")作為打印輸出的內(nèi)容時(shí),如果雙引號(hào)中有特殊字符需要在特殊字符前加上轉(zhuǎn)義字符\,當(dāng)然也可以使用單引號(hào)或者不使用引號(hào)直接輸出,使用單引號(hào)或者不使用就不需要用到轉(zhuǎn)義字符。
格式替代符
有一些常用的格式替代符會(huì)經(jīng)常在打印輸出中被用到,格式替代符只能用在printf輸出中。
%-5s:表示5個(gè)字符寬度,其中的-表示左對齊
%-4.2f:其中的f表示浮點(diǎn)型,4.2代表長度為4個(gè)字符且小數(shù)點(diǎn)2位,如果小數(shù)點(diǎn)超過2會(huì)進(jìn)行四舍五入,-表示左對齊。
整形:
%d:整數(shù)的參數(shù)會(huì)被轉(zhuǎn)成一有符號(hào)的十進(jìn)制數(shù)字
%u:整數(shù)的參數(shù)會(huì)被轉(zhuǎn)成一無符號(hào)的十進(jìn)制數(shù)字
%o:整數(shù)的參數(shù)會(huì)被轉(zhuǎn)成一無符號(hào)的八進(jìn)制數(shù)字
%x:整數(shù)的參數(shù)會(huì)被轉(zhuǎn)成一無符號(hào)的十六進(jìn)制數(shù)字,并以小寫abcdef表示
%X:整數(shù)的參數(shù)會(huì)被轉(zhuǎn)成一無符號(hào)的十六進(jìn)制數(shù)字,并以大寫ABCDEF表示
浮點(diǎn)型數(shù):
%fdouble型的參數(shù)會(huì)被轉(zhuǎn)成十進(jìn)制數(shù)字,默認(rèn)取小數(shù)點(diǎn)以下六位,四舍五入
%edouble型的參數(shù)以指數(shù)形式打印,有一個(gè)數(shù)字會(huì)在小數(shù)點(diǎn)前,六位數(shù)字在小數(shù)點(diǎn)后,而在指數(shù)部分會(huì)以小寫的e來表示.
%E與%e作用相同,唯一區(qū)別是指數(shù)部分將以大寫的E來表示.
%gdouble型的參數(shù)會(huì)自動(dòng)選擇以%f或%e的格式來打印,其標(biāo)準(zhǔn)是根據(jù)欲打印的數(shù)值及所設(shè)置的有效位數(shù)來決定.
%G與%g作用相同,唯一區(qū)別在以指數(shù)形態(tài)打印時(shí)會(huì)選擇%E格式.
字符及字符串:
%c讀字符串的第一個(gè)字符
%s輸出指定寬度的字符內(nèi)容.
%p如果是參數(shù)是"void*"型指針則使用十六進(jìn)制格式顯示
打印輸出
在寫腳本的時(shí)候更多的會(huì)使用echo作為打印輸出,且習(xí)慣性的會(huì)使用雙引號(hào)。
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;
注意事項(xiàng)
在echo,printf中使用-e,-n參數(shù)時(shí),-e,-n應(yīng)該出現(xiàn)在命令行其它字符之前。
-e:如果要在echo的雙引號(hào)使用轉(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文本處理工具10-08
Linux shell常用命令匯總10-26
Linux下程序的Profile工具01-24
Linux文件系統(tǒng)簡介06-01
Linux操作系統(tǒng)概述06-22
Linux系統(tǒng)下ftp的管理08-19