分享shell編程中的幾個(gè)小技巧
1、打印一些頭信息
command << dilimiter
……
……
dilimiter
以分界符號(hào)dilimiter中的內(nèi)容作為命令的標(biāo)準(zhǔn)輸入
常用在echo命令中,這樣就避免了沒(méi)輸出一行就要使用一個(gè)echo命令,同時(shí),輸出格式的調(diào)整也相應(yīng)變得簡(jiǎn)單了。
例如: echo << something_message
**********************
hello, welcome to use my shell script
**********************
something_message
將在屏幕上輸出:
**********************
hello, welcome to use my shell script
**********************
2、利用<<的分解符號(hào)性質(zhì)還可以自動(dòng)選擇菜單或?qū)崿F(xiàn)自動(dòng)的ftp傳輸
也就是利用分解符號(hào)的性質(zhì)自動(dòng)選擇菜單。
例如: ./menu_choose >>output_file 2>&1 <<Choose
2
3
Y
Choose
則自動(dòng)在執(zhí)行腳本的過(guò)程中一步步作出選擇:2,3,Y
<<這種性質(zhì)決定了它是理想的訪問(wèn)數(shù)據(jù)庫(kù)的有用工具,可以用它來(lái)輸入面對(duì)數(shù)據(jù)庫(kù)提示時(shí)所作的各種選擇。
3、創(chuàng)建一個(gè)長(zhǎng)度為0的空文件
執(zhí)行 > file_name 命令或 touch file_name 命令。
4、一些常用的shell變量
$# 傳遞到腳本的參數(shù)個(gè)數(shù)
$* 以一個(gè)單字符串顯示所有向腳本傳遞的參數(shù)(可大于9個(gè))
$$ 腳本運(yùn)行的當(dāng)前進(jìn)程的ID號(hào)
$! 后臺(tái)運(yùn)行的最后一個(gè)進(jìn)程的ID號(hào)
$@ 與$#相同,但使用時(shí)加引號(hào),并在引號(hào)中返回每個(gè)參數(shù)
$- 顯示shell使用的當(dāng)前選項(xiàng)
$? 顯示最后命令的退出狀態(tài),0表示無(wú)錯(cuò)誤(這個(gè)變量也常常用來(lái)打印輸出,在腳本調(diào)試時(shí)標(biāo)記某個(gè)shell命令或某個(gè)函數(shù)是否正確執(zhí)行,但是要注意,$?記載的是最近的函數(shù)或命令的退出狀態(tài),因此打印時(shí)應(yīng)該立即打印以獲得正確的信息)
$0的使用
在變量中有一種位置變量$n,用來(lái)存放函數(shù)調(diào)用或腳本執(zhí)行時(shí)傳入的參數(shù),其中$0表示函數(shù)名或腳本名,需要注意的是,這時(shí)的腳本名傳遞的是包含全路徑的腳本名。從$1-$9表示傳入的第一到第九個(gè)參數(shù),這樣的參數(shù)表示不能多于九個(gè),如果多于九個(gè),可以使用下面將要提到的shift指令來(lái)讀取。
因?yàn)?0存放函數(shù)名或腳本名,因此我們可以通過(guò)echo $0來(lái)輸出調(diào)用信息,但是,由于存放的是全路徑名,我們可以利用一個(gè)shell命令來(lái)得到腳本名,basename $0 將得到$0中名字的部分,而與之相反的,dirname $0將得到$0中路徑的部分。
5、Shift的運(yùn)用
用head或tail指令指定查閱的行數(shù)
例如:查閱文件前20行: head –20 file_name
查閱文件后10行: tail –10 file_name
- 利用shell編程實(shí)現(xiàn)DOS風(fēng)格的Linux命令行
- Shell編程的一些知識(shí)集合
- shell編程基礎(chǔ) 單引號(hào)和雙引號(hào)的區(qū)別
- 深入淺出Shell編程 Shell變量介紹
- shell編程基礎(chǔ)知識(shí)小結(jié)
- shift妙用之解決shell編程中的入?yún)?wèn)題
- shell編程基礎(chǔ)之認(rèn)識(shí)與學(xué)習(xí)BASH
- Shell編程之Shell變量學(xué)習(xí)總結(jié)
- shell編程之實(shí)現(xiàn)windows回收站功能分享
- 讓代碼整潔、過(guò)程清晰的BASH Shell編程技巧
- PowerShell編程中的一些命名規(guī)則參考
- Shell編程指南
相關(guān)文章
script_tool_for_linux.bash: Linux 環(huán)境下的 hosts 一鍵部署腳本
這篇文章主要介紹了script_tool_for_linux.bash: Linux 環(huán)境下的 hosts 一鍵部署腳本,需要的朋友可以參考下2016-04-04linux 比較兩個(gè)文件夾diff不同 (diff命令, md5列表)
這篇文章主要介紹了linux 比較兩個(gè)文件夾diff不同 (diff命令, md5列表),比較文件夾diff,可以直接使用diff命令,也可以比較文件md5列表,下面通過(guò)實(shí)例給大家介紹下,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05Linux文本查看命令及其選項(xiàng)詳解(cat,head,tail)
這篇文章主要介紹了Linux文本查看命令及其選項(xiàng)詳解(cat,head,tail),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Linux查看系統(tǒng)時(shí)間的詳細(xì)方法總結(jié)
系統(tǒng)時(shí)間是計(jì)算機(jī)硬件和軟件運(yùn)行的基礎(chǔ),在Linux系統(tǒng)中,查看系統(tǒng)時(shí)間是一項(xiàng)基本任務(wù),本文將從多個(gè)方面介紹Linux查看系統(tǒng)時(shí)間的詳細(xì)方法,需要的朋友可以參考下2023-09-09使用shell腳本快速登錄容器的實(shí)現(xiàn)步驟
本文主要介紹了使用shell腳本快速登錄容器的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08