网站地图    收藏   

主页 > 系统 > linux系统 >

从Shell脚本中学到的知识 - linux教程

来源:自学PHP网    时间:2014-11-28 23:06 作者: 阅读:

[导读] 作者Fizer Khan是一位Shell脚本迷,他对有关Shell脚本新奇有趣的东西是如此的痴迷,最近他遇到了authy-ssh脚本,为了缓解ssh服务器双重认证问...

从Shell脚本中学到的知识

作者Fizer Khan是一位Shell脚本迷,他对有关Shell脚本新奇有趣的东西是如此的痴迷,最近他遇到了authy-ssh脚本,为了缓解ssh服务器双重认证问题,他学到了许多有用且很酷的东西,对此,他想分享给大家。

1.为输出着色

大多数情况下,你希望输出带颜色的结果,比如绿色代表成功,红色代表失败,黄色代表警告,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来设置颜色、文本设置并重置到正常颜色,想更多了解tput,请参阅prompt-color-using-tput。

2.输出调试信息

输出调试信息只需调试设置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"  

某些极客还会提供在线调试功能:

Shell代码

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

3.检查特定可执行的文件是否存在?

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来命令查找可执行的curl 路径,如果成功,那么可执行的文件存在,反之则不存在。将&>/dev/null设置在输出流中,错误流会显示to /dev/null(这就意味着在控制板上没有任何东西可打印),有些极客会建议直接通过返回which来返回代码.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论