久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

shell腳本編程在UNIX和Linux下有什么區別

151次閱讀
沒有評論

共計 1629 個字符,預計需要花費 5 分鐘才能閱讀完成。

這篇文章主要介紹了 shell 腳本編程在 UNIX 和 Linux 下有什么區別,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。

與其他 UNIX 操作系統和 Linux 一樣,IBM? AIX? 操作系統提供了幾種能夠幫助系統管理員、開發人員和用戶執行日常任務的強大工具,使他們或其客戶的工作更輕松。在 UNIX 中,這些工具之一能夠通過編寫 shell 腳本編程來自動執行任務,從而簡化那些困難、漫長或繁瑣的工作。

盡管在近兩年使用過 UNIX 的一些人可能嘗試過 shell 腳本編程,但是他們很可能只是研究操作系統的細節,并不精通 shell 腳本編程。本文針對那些希望進一步了解 shell 腳本編程,并開始編寫更高級腳本的讀者。本文提供腳本編程的基礎知識,包括如何簡化腳本、如何盡可能保持腳本的靈活性、如何編寫干凈的腳本、在腳本內編寫注釋以及調試腳本。

shell 腳本編程保持簡單

在人們學習如何編寫 shell 腳本編程時,常常遇到的一個問題是,重復他們在另一個腳本中已經做過的工作。他們其實不需要復制原來的腳本并修改幾個硬編碼值,只需創建一個函數來處理兩個腳本的重復部分。創建集中的函數還可以促進標準化,幫助創建統一的腳本。如果一個函數在腳本的一個部分工作正常,那么它在腳本中的其他地方也會正常工作。

例如,清單 1 所示的腳本應該濃縮和簡化為更簡單、更干凈的程序。

清單 1. 可以簡化的腳本示例

#!/usr/bin/ksh if [[ $# -lt 2 ]] then echo  Usage: ${0##*/}  file name #1   file name #2  exit 0 fi if [[ ! -f  ${1}  ]] then echo  Unable to find file  ${1}  exit 1 fi if [[ ! -r  ${1}  ]] then echo  Unable to read file  ${1}  exit 2 fi gzip ${1} ls -l ${1}.gz if [[ ! -f  ${2}  ]] then echo  Unable to find file  ${2}  exit 1 fi if [[ ! -r  ${2}  ]] then echo  Unable to read file  ${2}  exit 2 fi gzip ${2} ls -l ${2}.gz

這個腳本看起來很糟糕!(謝天謝地,它只是一個示例)。這個 shell 腳本編程應該盡可能進行濃縮。從便于閱讀的角度來看,清單 2 提供的版本更干凈。

清單 2. 對清單 1 腳本進行濃縮的版本

#!/usr/bin/ksh exit_msg() { [[ $# -gt 1 ]]   echo  ${0##*/} (${1}) - ${2}  exit ${1:-0} } [[ $# -lt 2 ]]   exit_msg 0  Usage: ${0##*/}  file name #1   file name #2  for _FNAME in $@ do [[ ! -f  ${_FNAME}  ]]   exit_msg 1  Unable to find file  ${_FNAME}  [[ ! -r  ${_FNAME}  ]]   exit_msg 2  Unable to read file  ${_FNAME}  gzip ${_FNAME} ls -l ${_FNAME}.gz done

注意到這兩者的差異了嗎?這個 shell 腳本編程增加了一個簡單的函數來顯示一個消息并帶適當的返回碼退出,還把所有操作轉移到一個 for 循環中,這使這個腳本看起來更干凈、更容易理解了。

感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“shell 腳本編程在 UNIX 和 Linux 下有什么區別”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計1629字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 昌吉市| 韶关市| 南充市| 庐江县| 晴隆县| 东海县| 南岸区| 苗栗县| 左贡县| 遵义县| 大新县| 如皋市| 永德县| 沁水县| 新绛县| 高唐县| 涞源县| 叙永县| 青岛市| 孝昌县| 申扎县| 襄汾县| 峡江县| 和林格尔县| 伊春市| 迁安市| 米易县| 化德县| 中方县| 永泰县| 竹溪县| 延庆县| 龙口市| 阿合奇县| 永昌县| 凤冈县| 上杭县| 西乌| 温宿县| 宜州市| 电白县|