讓Linux命令加速(轉)
Linux中大多數命令只做一件事,因此,透過Shell指令碼語言把各種程式粘合起來使用時,就能完成複雜的任務。本文充分利用功能強大,但簡單易學的小工具,給出一些實際問題的解決方案,希望使Linux更實用、更好用。
讓命令“說話”
幾乎每個Linux命令都有很多選項,允許使用者根據需要靈活地定製。但這給初學者帶來諸多不便,一是學起來麻煩,二是容易遺忘,需要時不得不重新再來。
那麼有沒有辦法讓命令自己“說話”呢?透過Shell指令碼語言可以給命令加上友好的“面孔”。示例如下:
::::::::::::::cname.sh::::::::::::::echo "Please input file name:"read oldecho "Please input new name: "read newmv $old $new
上面程式碼中,mv的命令格式為:
mv 原名字 新名字
echo命令格式為:
echo 字串
read從標準輸入中讀入一個字串,並存入後邊的變數中,其命令格式為:
read 變數名
程式執行時顯示幫助資訊,提示輸入相應的引數,最後透過簡單的變數替換,完成改名任務這個程式。雖然只有5行,卻改變了命令的行為方式,大大地增強了mv的易用性。在實際應用中,讀者可根據需要替換這個小程式的命令。
處理多個檔案
在前面的基礎上,如果想給一批檔案改名的話,那麼下面這個例子就更有實用價值了。
::::::::::::::mvs.sh::::::::::::::for s in $*; do echo "File: $s" echo "Please input new name: " read t mv $s $t if [ $? -eq 0 ]; then echo "OK!^o^" else echo "Error!" fidone
透過for迴圈,“命令序列”依次處理檔案列表中的所有檔案。$*代表所有命令列引數,這樣檔案列表就可以透過命令引數指定。後面的if語句測試命令的執行狀態,0代表執行成功。簡單部署1之後,鍵入“mvs .jpg”就可以輕鬆地批次給檔案改名了。
部署方案
程式編制完成,需要仔細部署,以使安裝和使用方便。
◆在使用者主目錄下新建bin目錄(如果已建立就跳過):
mkdir ~/bin
◆把~/bin新增到PATH變數,在使用者主目錄下的.bashrc檔案中新增下面幾行:
PATH=~/bin:$PATH
export PATH
◆把測試好的程式移至bin目錄,更改成簡單易記的名字,並設定檔案屬性:
cp mvs.sh ~/bin/mvs
chmod 755 ~/bin/mvs
以後,就可以直接使用mvs給一批檔案改名字了。
mvs *.jpg
本文所舉例子雖然簡單,但勾畫出了一些比較通用的框架,根據需要稍加修改就可以解決很多比較複雜的任務。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-939905/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux轉包命令Linux
- 用CPU來加速你的Linux命令Linux
- linux的test命令(轉)Linux
- 教你玩轉Linux—yum 命令Linux
- Linux系統管理命令二(轉)Linux
- 【轉】linux-命令top詳解Linux
- Linux基礎命令—文字格式轉換fmtLinux
- Linux基礎命令---文字格式轉換fmtLinux
- Linux基礎命令—格式轉換expand、unexpandLinux
- 在 Linux 命令列中轉換大小寫Linux命令列
- 【轉】Linux常用命令大全(非常全!!!)Linux
- 11個讓你吃驚的Linux終端命令Linux
- 玩轉Linux的97個常用命令Linux
- Linux基礎命令---文字格式轉換expand、unexpandLinux
- Linux命令之grep/sed/awk等行轉列Linux
- Linux—vim/vi 翻頁跳轉命令快捷鍵Linux
- 在Linux命令列內的大小寫轉換(附全套Linux影片教程)Linux命令列
- 【Linux命令】grep命令Linux
- Linux命令—–CP命令Linux
- 讓openGauss落地千行百業助力客戶加速數字化轉型
- linux命令大全-linux命令使用和管理Linux
- 如何用Linux命令轉換檔案格式?linux運維怎麼入門Linux運維
- 在Linux命令列中進行大小寫字元轉換Linux命令列字元
- 推薦三個讓你假裝很忙的Linux 命令列工具Linux命令列
- Linux命令Linux
- Linux命令(1)——xargs命令Linux
- Linux命令之lldptool命令Linux
- Linux命令篇 - sed 命令Linux
- Linux命令篇 - grep 命令Linux
- Linux命令篇 - tar 命令Linux
- Linux命令列:對內容進行大小寫字元轉換 Linux命令列字元
- Linux命令之rz命令與sz命令Linux
- linux每日命令(5):mkdir命令Linux
- linux-mysql命令,tomcat命令LinuxMySqlTomcat
- linux每日命令(2):cd命令Linux
- linux每日命令(18):whereis命令Linux
- linux每日命令(12):nl命令Linux
- linux每日命令(10):touch命令Linux
- linux每日命令(11):cat命令Linux