从Shell脚本中学到的知识
作者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来返回代码.
查看更多关于从Shell脚本中学到的知识 - linux教程的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did22230