printf 命令用於格式化輸出, 是echo命令的增強版。它是c語言printf()庫函式的乙個有限的變形,並且在語法上有些不同。
注意:printf 由 posix 標準所定義,移植性要比 echo 好。
如同 echo 命令,printf 命令也可以輸出簡單的字串:
$printf
"hello, shell\n"
hello, shell
$printf 不像 echo 那樣會自動換行,必須顯式新增換行符(\n)。
printf 命令的語法:
printf format-string [arguments...]format-string 為格式控制字串,arguments 為引數列表。
printf()在c語言入門教程中已經講到,功能和用法與 printf 命令類似,請檢視:
c語言格式輸出函式printf()詳解
這裡僅說明與c語言printf()函式的不同:
請看下面的例子:
純文字複製
# format-string為雙引號
$ printf
"%d %s\n"
1"abc"
1 abc
# 單引號與雙引號效果一樣
$ printf
'%d %s\n'
1"abc"
1 abc
# 沒有引號也可以輸出
$ printf
%s abcdef
abcdef
# 格式只指定了乙個引數,但多出的引數仍然會按照該格式輸出,format-string 被重用
$ printf
%s abc def
abcdef
$ printf
"%s\n
" abc def
abcdef
$ printf
"%s %s %s
\n" a b c d e f g h i j
a b c
d e f
g h i
j# 如果沒有 arguments,那麼 %s 用null代替,%d 用 0 代替
$ printf
"%s and %d \n"
and 0
# 如果以 %d 的格式來顯示字串,那麼會有警告,提示無效的數字,此時預設置為 0
$ printf
"the first program always prints'%s,%d
\n'" hello shell
-bash
:printf
: shell: invalid number
the first program always prints 'hello,0'
$
shell格式化輸出
1 使用echo進行格式化輸出 2 使用printf進行格式化輸出 1 使用echo進行格式化輸出 顯示轉義字元 root yanta echo this is a test this is a test 12 讀取變數並顯示 使用 read 命令從標準輸入中讀取一行,並把輸入行的每個欄位的值指定給...
shell格式化輸出
一 echo 命令介紹 功能 將內容輸出到預設顯示裝置 echo命令的功能是在顯示器上顯示一段文字,一般起到乙個提示的作用。功能說明 顯示文字。語法 echo ne 字串 補充說明 echo會將輸入的字串送往標準輸出。輸出的字串間以空白字元隔開,並在 最後加上換行號。命令選項 n不要在最後自動換行 ...
Shell的格式化輸出
root yanta echo this is a test this is a test 使用read命令從標準輸入中讀取一行,並把輸入行的每個欄位的值指定給 shell 變數 bin bash name home yanta read echo.sh author yanta dsc this ...