linux shell print命令
在Linux下,經(jīng)常會需要用到格式化輸出的情況,那么應(yīng)該使用那個命令呢?下面由學(xué)習(xí)啦小編為大家整理了linux shell print命令,希望對大家有幫助!
linux shell print命令
printf 命令用于格式化輸出, 是echo命令的增強(qiáng)版。它是C語言printf()庫函數(shù)的一個有限的變形,并且在語法上有些不同。
注意:printf 由 POSIX 標(biāo)準(zhǔn)所定義,移植性要比 echo 好。
如同 echo 命令,printf 命令也可以輸出簡單的字符串:
$printf "Hello, Shell\n"
Hello, Shell
$
printf 不像 echo 那樣會自動換行,必須顯式添加換行符(\n)。
printf 命令的語法:
printf format-string [arguments…]
format-string 為格式控制字符串,arguments 為參數(shù)列表。
printf()在c語言入門教程中已經(jīng)講到,功能和用法與 printf 命令類似,請查看:C語言格式輸出函數(shù)printf()詳解
這里僅說明與C語言printf()函數(shù)的不同:
printf 命令不用加括號
format-string 可以沒有引號,但最好加上,單引號雙引號均可。
參數(shù)多于格式控制符(%)時,format-string 可以重用,可以將所有參數(shù)都轉(zhuǎn)換。
arguments 使用空格分隔,不用逗號。
# format-string為雙引號
$ printf "%d %s\n" 1 "abc"
1 abc
# 單引號與雙引號效果一樣
$ printf '%d %s\n' 1 "abc"
1 abc
# 沒有引號也可以輸出
$ printf %s abcdef
abcdef
# 格式只指定了一個參數(shù),但多出的參數(shù)仍然會按照該格式輸出,format-string 被重用
$ printf %s abc def
abcdef
$ printf "%s\n" abc def
abc
def
$ 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 的格式來顯示字符串,那么會有警告,提示無效的數(shù)字,此時默認(rèn)置為 0
$ printf "The first program always prints'%s,%d\n'" Hello Shell
-bash: printf: Shell: invalid number
The first program always prints 'Hello,0'
34567891011121314151617181920212223242526272812345678910111213141516171819202122232425262728
補(bǔ)充:linux shell echo命令
echo是Shell的一個內(nèi)部指令,用于在屏幕上打印出指定的字符串。命令格式:
echo arg
您可以使用echo實現(xiàn)更復(fù)雜的輸出格式控制。
----------
顯示轉(zhuǎn)義字符
"echo "\"It is a test\""
結(jié)果將是:
"It is a test"
雙引號也可以省略。
----------
顯示變量
name="OK"
echo "$name It is a test"
結(jié)果將是:
OK It is a test
同樣雙引號也可以省略。
如果變量與其它字符相連的話,需要使用大括號({ }):
mouth=8
echo "${mouth}-1-2009"
結(jié)果將是:
8-1-2009
----------
顯示換行
echo "OK!\n"
echo "It is a test"
輸出:
OK!
It is a test
----------
顯示不換行
echo "OK!\c"
echo "It is a test"
輸出:
OK!It si a test
----------
顯示結(jié)果重定向至文件
echo "It is a test" > myfile
原樣輸出字符串
若需要原樣輸出字符串(不進(jìn)行轉(zhuǎn)義),請使用單引號。例如:
echo '$name\"'顯示命令執(zhí)行結(jié)果
echo `date`結(jié)果將顯示當(dāng)前日期
linux shell print命令
上一篇:linux shell解壓命令
下一篇:linux shell命令分類