成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

shell 腳本編程在UNIX和Linux下的不同表現

系統 Linux
shell 腳本編程需要我們不斷的學習,有關的問題一直在存在。下面我們就看看如何才能更好的使相關的問題到解決,希望大家有所解決。

shell 腳本編程如何才能更好的使用呢?尤其是在UNIX操作系統和Linux操作系統中的使用。接下來我們就看看有關shell 腳本編程的相關使用問題。

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

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

shell 腳本編程保持簡單

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

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

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

 

  1. #!/usr/bin/ksh  
  2. if [[ $# -lt 2 ]]  
  3. then  
  4. echo "Usage: ${0##*/} <file name #1> <file name #2> 
  5. exit 0  
  6. fi  
  7. if [[ ! -f "${1}" ]]  
  8. then  
  9. echo "Unable to find file '${1}'"  
  10. exit 1  
  11. fi  
  12. if [[ ! -r "${1}" ]]  
  13. then  
  14. echo "Unable to read file '${1}'"  
  15. exit 2  
  16. fi  
  17. gzip ${1}  
  18. ls -l ${1}.gz  
  19. if [[ ! -f "${2}" ]]  
  20. then  
  21. echo "Unable to find file '${2}'"  
  22. exit 1  
  23. fi  
  24. if [[ ! -r "${2}" ]]  
  25. then  
  26. echo "Unable to read file '${2}'"  
  27. exit 2  
  28. fi  
  29. gzip ${2}  
  30. ls -l ${2}.gz 

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

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

 

  1. #!/usr/bin/ksh  
  2. exit_msg() {  
  3. [[ $# -gt 1 ]] && echo "${0##*/} (${1}) - ${2}"  
  4. exit ${1:-0}  
  5. }  
  6. [[ $# -lt 2 ]] && exit_msg 0 "Usage: ${0##*/} <file name #1> <file name #2> 
  7. for _FNAME in $@  
  8. do  
  9. [[ ! -f "${_FNAME}" ]] && exit_msg 1 "Unable to find file '${_FNAME}'"  
  10. [[ ! -r "${_FNAME}" ]] && exit_msg 2 "Unable to read file '${_FNAME}'"  
  11. gzip ${_FNAME}  
  12. ls -l ${_FNAME}.gz  
  13. done 

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

【編輯推薦】

  1. linux學習筆記:認識SHELL
  2. Linux下反彈CmdLine Shell小技巧
  3. 最全的Webshell提權方法總結
  4. ASP.NET環境下的Shell函數
  5. 實戰Windows7系統的Powershell命令
責任編輯:張浩 來源: 互聯網
相關推薦

2010-08-17 15:21:17

IEFirefoxHTML

2018-04-04 08:59:22

LinuxUNIXShell

2024-11-27 09:19:25

2014-03-13 16:34:04

LinuxBashKSH shel

2010-06-30 10:16:49

SNMP協議

2009-09-29 10:45:17

UnixLinuxshell

2018-02-01 17:32:30

LinuxUNIXBash Shell

2009-10-23 13:44:03

linux Shell

2011-09-27 13:52:41

2010-04-16 14:46:22

2010-06-23 15:55:36

Linux Bash

2010-07-01 12:36:00

2009-08-30 15:12:34

ODULinuxUnix平臺

2018-08-02 10:10:38

LinuxUnix

2011-07-12 15:21:51

POSIX規范Linux

2010-09-02 16:18:33

CSSDIVIE6

2011-09-05 17:44:49

LinuxUnix

2009-12-03 10:12:24

LinuxUnix

2011-07-26 09:48:47

Shell快捷鍵grepinit

2020-12-07 10:30:39

LinuxUnix物聯網
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美成人自拍视频 | 国产精品色一区二区三区 | 情侣av| 欧美淫 | 久久久精品天堂 | 国产精品极品美女在线观看免费 | 看一级毛片视频 | 午夜www| 在线播放中文字幕 | 黄色网址免费看 | 99九色| 成人免费小视频 | 伊人狼人影院 | 青青青伊人| 国产资源网 | 色婷婷综合久久久中字幕精品久久 | 三级黄色片在线 | 欧美一级二级视频 | 国产区在线观看 | 国产二区视频 | 色av一区二区三区 | 亚洲国产日本 | 亚洲视频精品在线 | 久久99深爱久久99精品 | 日本 欧美 国产 | 理论片午午伦夜理片影院 | 成人免费xxxxx在线视频 | 日日干天天操 | 超碰成人免费 | 在线观看成人小视频 | 91美女视频| 9久9久 | 国产一区二区在线视频 | 一区二区三区久久 | 日韩最新网站 | 国产免费福利 | 精品国产精品国产偷麻豆 | 精品国产免费人成在线观看 | 日本精品一区二区三区在线观看 | 欧美日本韩国一区二区 | 美女黄色在线观看 |