經常需要和shell命令打交道,但是一直沒有系統的學習,接下來會花1到2個月的時間系統的學習一下shell命令,接下來就開啟shell命令的奇妙旅行吧。本章主要介紹shell的列印輸出。
知識要點
格式替代符
有一些常用的格式替代符會經常在列印輸出中被用到,格式替代符只能用在printf輸出中。
%-5s:表示5個字元寬度,其中的-表示左對齊
%-4.2f:其中的f表示浮點型,4.2代表長度為4個字元且小數點2位,如果小數點超過2會進行四捨五入,-表示左對齊。
整形:
%d:整數的引數會被轉成一有符號的十進位制數字
%u:整數的引數會被轉成一無符號的十進位制數字
%o:整數的引數會被轉成一無符號的八進位制數字
%x:整數的引數會被轉成一無符號的十六進製制數字, 並以小寫abcdef表示
%x:整數的引數會被轉成一無符號的十六進製制數字, 並以大寫abcdef表示
浮點型數:
%f double型的引數會被轉成十進位制數字, 預設取小數點以下六位, 四捨五入
%e double型的引數以指數形式列印, 有乙個數字會在小數點前, 六位數字在小數點後, 而在指數部分會以小寫的e來表示.
%e 與%e作用相同, 唯一區別是指數部分將以大寫的e來表示.
%g double型的引數會自動選擇以%f或%e的格式來列印, 其標準是根據欲列印的數值及所設定的有效位數來決定.
%g 與%g作用相同, 唯一區別在以指數形態列印時會選擇%e格式.
字元及字串:
%c 讀字串的第乙個字元
%s 輸出指定寬度的字元內容.
%p 如果是引數是"void *"型指標則使用十六進製制格式顯示
列印輸出
在寫指令碼的時候更多的會使用echo作為列印輸出,且習慣性的會使用雙引號。
echo
[root@localhost tmp]# echo "hello word"printfhello word
預設printf是不換行的
[root@localhost tmp]# printf "hello word"需要換行加上\n引數hello word[root@localhost tmp]#
[root@localhost tmp]# printf "hello word\n"編寫shell指令碼hello word
[root@localhost tmp]#
vim scrip.sh
#!/bin/bash授予指令碼執行許可權:chmod u+x scrip.shprintf "%-5s %-10s %-4s\n" no name mark;
printf "%-5s %-10s %-4.2f\n" 1 aaa 10.111;
printf "%-5s %-10s %-4.2f\n" 2 bbb 20.146;
如果使用echo就不能用格式替代符
注意事項
在echo,printf中使用-e,-n引數時,-e,-n應該出現在命令列其它字元之前。
-e:如果要在echo的雙引號使用轉義序列作為引數得需要使用-e引數
-n:忽略末尾的換行符
不使用-e引數[root@localhost tmp]# echo "1\n2"
1\n2
使用-e引數轉義序列:[root@localhost tmp]# echo -e "1\n2"
12
/n:換行
/t:tab鍵
彩色輸出
字型顏色包括:0=重置,30=黑色,31=紅色,32=綠色,33=黃色,34=藍色,35=洋紅,36=青色,37=白色
背景顏色包括:0=重置,40=黑色,41=紅色,42=綠色,43=黃色,44=藍色,45=洋紅,46=青色,47=白色
\e[1;32m:將字型顏色設為綠色,\e[0m:將顏色重置
如果輸出的內容涉及到特殊字元建議使用printf來輸出。
自學Swift之列印輸出
print 不換行輸出 println 換行輸出 print 和 println 函式可以直接列印基本型別 var num 10 println hello string num 方式1 其他型別同string輸出的時候需要強轉 println hello num 方式2 括號中為定義好的變數或常量...
Python之列印輸出稜形
列印輸出稜形 這裡是一段防爬蟲文字,請讀者忽略。本文原創首發於csdn,作者idys 部落格首頁 稜形上下三角形對稱,所以上面列印出朝上的三角形,下面列印出朝下的三角形 三角形由和 組成 def demo04 i 1 length int input 請輸入長度 while i length pri...
列印輸出部門結構
列印出部門結構 如下 連線資料庫,並且獲取資料。link mysqli connect localhost mysqli select db link,test sql select from print where 1 retval mysqli query link,sql array arra...