国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

從Shell腳本中學(xué)到的知識

2024-08-27 23:57:52
字體:
供稿:網(wǎng)友

作者Fizer Khan是一位Shell腳本迷,他對有關(guān)Shell腳本新奇有趣的東西是如此的癡迷,最近他遇到了authy-ssh腳本,為了緩解ssh服務(wù)器雙重認(rèn)證問題,他學(xué)到了許多有用且很酷的東西,對此,他想分享給大家。

1.為輸出著色

大多數(shù)情況下,你希望輸出帶顏色的結(jié)果,比如綠色代表成功,紅色代表失敗,黃色代表警告,Shell代碼:

  1. NORMAL=$(tput sgr0)  
  2. GREEN=$(tput setaf 2; tput bold)  
  3. YELLOW=$(tput setaf 3)  
  4. RED=$(tput setaf 1)  
  5. function red() {  
  6. echo -e "$RED$*$NORMAL"  
  7. }  
  8. function green() {  
  9. echo -e "$GREEN$*$NORMAL"  
  10. }  
  11. function yellow() {  
  12. echo -e "$YELLOW$*$NORMAL"  
  13. }  
  14. # To print success  
  15. green "Task has been completed"  
  16. # To print error  
  17. red "The configuration file does not exist"  
  18. # To print warning  
  19. yellow "You have to use higher version."  

這里使用tput來設(shè)置顏色、文本設(shè)置并重置到正常顏色,想更多了解tput,請參閱prompt-color-using-tput。

2.輸出調(diào)試信息

輸出調(diào)試信息只需調(diào)試設(shè)置flag。

Shell代碼

  1. function debug() {  
  2. if [[ $DEBUG ]]  
  3. then  
  4. echo ">>> $*"  
  5. fi  
  6. }  
  7. # For any debug message  
  8. debug "Trying to find config file"  

某些極客還會提供在線調(diào)試功能:

Shell代碼

  1. # From cool geeks at hacker news  
  2. function debug() { ((DEBUG)) && echo ">>> $*"; }  
  3. function debug() { [ "$DEBUG" ] && echo ">>> $*"; }  

3.檢查特定可執(zhí)行的文件是否存在?

Shell代碼

  1. OK=0  
  2. FAIL=1  
  3. function require_curl() {  
  4. which curl &>/dev/null  
  5. if [ $? -eq 0 ]  
  6. then  
  7. return $OK  
  8. fi  
  9. return $FAIL  

這里使用which來命令查找可執(zhí)行的curl 路徑,如果成功,那么可執(zhí)行的文件存在,反之則不存在。將&>/dev/null設(shè)置在輸出流中,錯誤流會顯示to /dev/null(這就意味著在控制板上沒有任何東西可打印),有些極客會建議直接通過返回which來返回代碼.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 万山特区| 尼玛县| 衡阳市| 宜川县| 成安县| 黔东| 北宁市| 江永县| 黎城县| 翁源县| 平山县| 正定县| 天水市| 治多县| 永德县| 上林县| 勃利县| 太湖县| 交口县| 扎囊县| 平遥县| 临沂市| 双城市| 镇巴县| 葵青区| 普定县| 运城市| 定边县| 渑池县| 孝昌县| 古田县| 巢湖市| 大连市| 尼勒克县| 同德县| 丽水市| 宜章县| 望谟县| 定安县| 辰溪县| 朝阳县|