从Shell脚本中学到的知识
发布:smiling 来源: PHP粉丝网 添加日期:2014-03-07 15:28:34 浏览: 评论:0
作者Fizer Khan是一位Shell脚本迷,他对有关Shell脚本新奇有趣的东西是如此的痴迷,最近他遇到了authy-ssh脚本,为了缓解ssh服务器双重认证问题,他学到了许多有用且很酷的东西,对此,他想分享给大家。
1.为输出着色
大多数情况下,你希望输出带颜色的结果,比如绿色代表成功,红色代表失败,黄色代表警告,Shell代码:
- NORMAL=$(tput sgr0)
- GREEN=$(tput setaf 2; tput bold)
- YELLOW=$(tput setaf 3)
- RED=$(tput setaf 1)
- function red() {
- echo -e "$RED$*$NORMAL"
- }
- function green() {
- echo -e "$GREEN$*$NORMAL"
- }
- function yellow() {
- echo -e "$YELLOW$*$NORMAL"
- }
- # To print success
- green "Task has been completed"
- # To print error
- red "The configuration file does not exist"
- # To print warning
- yellow "You have to use higher version."
这里使用tput来设置颜色、文本设置并重置到正常颜色,想更多了解tput,请参阅prompt-color-using-tput。
2.输出调试信息
输出调试信息只需调试设置flag。
Shell代码
- function debug() {
- if [[ $DEBUG ]]
- then
- echo ">>> $*"
- fi
- }
- # For any debug message
- debug "Trying to find config file"
某些极客还会提供在线调试功能:
Shell代码
- # From cool geeks at hacker news
- function debug() { ((DEBUG)) && echo ">>> $*"; }
- function debug() { [ "$DEBUG" ] && echo ">>> $*"; }
3.检查特定可执行的文件是否存在?
Shell代码
- OK=0
- FAIL=1
- function require_curl() {
- which curl &>/dev/null
- if [ $? -eq 0 ]
- then
- return $OK
- fi
- return $FAIL
- }
这里使用which来命令查找可执行的curl 路径,如果成功,那么可执行的文件存在,反之则不存在。将&>/dev/null设置在输出流中,错误流会显示to /dev/null(这就意味着在控制板上没有任何东西可打印),有些极客会建议直接通过返回which来返回代码.
Tags: Shell脚本 Shell知识
相关文章
- ·教你使用Linux系统的Shell脚本维护Oracle(2014-02-28)
- ·Linux下Shell脚本完成SVN版本库的建立(2014-10-11)
- ·linux下shell脚本切割大文件为多个小txt文件(2015-04-21)
- ·linux下Shell脚本分析Nginx日志抗小量ddos攻击(2015-04-21)
- ·linux中使用shell脚本检测内存使用情况(2015-04-22)
- ·分享一段一键编译安装gcc的shell脚本代码(2015-04-22)
- ·linux中shell脚本统计apache日志中页面访问量(2015-04-22)
- ·shell脚本中如何输出变量的变量例子(2015-04-22)
- ·linux中shell脚本自动腾出空间脚本(2015-04-28)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)