分享shell編程中的幾個小技巧
1、打印一些頭信息
command << dilimiter
……
……
dilimiter
以分界符號dilimiter中的內(nèi)容作為命令的標準輸入
常用在echo命令中,這樣就避免了沒輸出一行就要使用一個echo命令,同時,輸出格式的調(diào)整也相應變得簡單了。
例如: echo << something_message
**********************
hello, welcome to use my shell script
**********************
something_message
將在屏幕上輸出:
**********************
hello, welcome to use my shell script
**********************
2、利用<<的分解符號性質(zhì)還可以自動選擇菜單或?qū)崿F(xiàn)自動的ftp傳輸
也就是利用分解符號的性質(zhì)自動選擇菜單。
例如: ./menu_choose >>output_file 2>&1 <<Choose
2
3
Y
Choose
則自動在執(zhí)行腳本的過程中一步步作出選擇:2,3,Y
<<這種性質(zhì)決定了它是理想的訪問數(shù)據(jù)庫的有用工具,可以用它來輸入面對數(shù)據(jù)庫提示時所作的各種選擇。
3、創(chuàng)建一個長度為0的空文件
執(zhí)行 > file_name 命令或 touch file_name 命令。
4、一些常用的shell變量
$# 傳遞到腳本的參數(shù)個數(shù)
$* 以一個單字符串顯示所有向腳本傳遞的參數(shù)(可大于9個)
$$ 腳本運行的當前進程的ID號
$! 后臺運行的最后一個進程的ID號
$@ 與$#相同,但使用時加引號,并在引號中返回每個參數(shù)
$- 顯示shell使用的當前選項
$? 顯示最后命令的退出狀態(tài),0表示無錯誤(這個變量也常常用來打印輸出,在腳本調(diào)試時標記某個shell命令或某個函數(shù)是否正確執(zhí)行,但是要注意,$?記載的是最近的函數(shù)或命令的退出狀態(tài),因此打印時應該立即打印以獲得正確的信息)
$0的使用
在變量中有一種位置變量$n,用來存放函數(shù)調(diào)用或腳本執(zhí)行時傳入的參數(shù),其中$0表示函數(shù)名或腳本名,需要注意的是,這時的腳本名傳遞的是包含全路徑的腳本名。從$1-$9表示傳入的第一到第九個參數(shù),這樣的參數(shù)表示不能多于九個,如果多于九個,可以使用下面將要提到的shift指令來讀取。
因為$0存放函數(shù)名或腳本名,因此我們可以通過echo $0來輸出調(diào)用信息,但是,由于存放的是全路徑名,我們可以利用一個shell命令來得到腳本名,basename $0 將得到$0中名字的部分,而與之相反的,dirname $0將得到$0中路徑的部分。
5、Shift的運用
用head或tail指令指定查閱的行數(shù)
例如:查閱文件前20行: head –20 file_name
查閱文件后10行: tail –10 file_name
相關(guān)文章
在shell腳本中激活conda虛擬環(huán)境的方法總結(jié)
在Anaconda中conda可以理解為一個工具,也是一個可執(zhí)行命令,其核心功能是包管理與環(huán)境管理,下面這篇文章主要給大家介紹了關(guān)于如何在shell腳本中激活conda虛擬環(huán)境的相關(guān)資料,需要的朋友可以參考下2022-08-08
Shell腳本實現(xiàn)的基于SVN的代碼提交量統(tǒng)計工具
這篇文章主要介紹了Shell腳本實現(xiàn)的基于SVN的代碼提交量統(tǒng)計工具,本文直接給出實現(xiàn)腳本代碼,需要的朋友可以參考下2015-06-06
sed找到關(guān)鍵字所在行并將其前面的第一個字符刪除的命令
sed找到關(guān)鍵字所在行并將其前面的第一個字符刪除的命令,需要的朋友可以參考下2013-02-02
shell腳本中echo顯示內(nèi)容帶顏色的實現(xiàn)方法
這篇文章主要介紹了shell腳本中通過echo顯示帶顏色內(nèi)容的實現(xiàn)方法,需要的朋友可以參考下2013-11-11

