shell學(xué)習(xí)之printf命令格式化輸出語(yǔ)句
簡(jiǎn)介
printf 命令用于格式化輸出, 是echo命令的增強(qiáng)版。它是C語(yǔ)言printf()庫(kù)函數(shù)的一個(gè)有限的變形,并且在語(yǔ)法上有些不同。
注意:printf 由 POSIX 標(biāo)準(zhǔn)所定義,移植性要比 echo 好。
如同 echo 命令,printf 命令也可以輸出簡(jiǎn)單的字符串:
$printf "Hello, Shell\n" Hello, Shell $
printf 不像 echo 那樣會(huì)自動(dòng)換行,必須顯式添加換行符(\n)。
printf 命令的語(yǔ)法:
printf format-string [arguments...]
format-string 為格式控制字符串,arguments 為參數(shù)列表。
將數(shù)組信息以多行格式輸出
# A=(1 2 3) && echo ${A[@]}
1 2 3
如何輸出為:
1 2 3
# A=(1 2 3) && printf "%s\n" ${A[@]}
1
2
3
strace 跟蹤多個(gè)進(jìn)程
strace是所有l(wèi)inux程序員都應(yīng)該熟練掌握的工具,該命令可以strace -p $pid1 -p $pid2 跟蹤一個(gè)或多個(gè)正在運(yùn)行的進(jìn)程,跟蹤一個(gè)進(jìn)程還好;當(dāng)我們想strace httpd的所有進(jìn)程時(shí),我們可以pidof httpd拿到所有的pid,但是不能直接使用,需要在每個(gè)pid前面添加-p,用 while循環(huán)可以做到,如下:
strace $(pidof httpd | while read pid; do echo -n " -p $pid " ; done)
倒是也不長(zhǎng),其實(shí)有更簡(jiǎn)單的辦法:
strace $(pidof httpd | xargs printf ' -p %s ')
如果我們已經(jīng)將pid信息存到了$pids中了,那么可以:
printf ' -p %s ' $pids
pids=$(pidof httpd); strace $(printf ' -p %s ' $pids)
注意:printf 參數(shù)中的 -p 最好不要頂著頭寫(xiě) (不過(guò)這個(gè)在使用xargs的時(shí)候不存在這個(gè)問(wèn)題)
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
相關(guān)文章
Shell腳本自動(dòng)部署項(xiàng)目的方法步驟
本文主要介紹了Shell腳本自動(dòng)部署項(xiàng)目的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
在linux shell腳本中root切換到普通用戶執(zhí)行腳本或命令的方法
今天小編就為大家分享一篇在linux shell腳本中root切換到普通用戶執(zhí)行腳本或命令的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
linux設(shè)置定時(shí)任務(wù)的方法步驟
這篇文章主要介紹了linux設(shè)置定時(shí)任務(wù)的方法步驟,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-05-05
Linux bc命令實(shí)現(xiàn)數(shù)學(xué)計(jì)算器
這篇文章主要介紹了Linux bc命令實(shí)現(xiàn)數(shù)學(xué)計(jì)算器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03

