| 
	作者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来返回代码。(责任编辑:IT) |