• cut命令、case与select语句


    cut命令
    		常用参数:
    		-c			character		字符
    		-d			delimiter		分隔符
    		-f			field			域(列)
    		--output-delimiter			输出分隔符
    
    		例:
    		# echo 12345  |cut -c2
    		2
    		# echo 12345  |cut -c1,4
    		14
    		# echo 12345  |cut -c2-4
    		234
    		# ifconfig eth0 |grep Mask |cut -d " " -f12 |cut -d ":" -f2
    
    		# head -1 /etc/passwd | cut -d ":" -f 1,3,4 --output-delimiter="#" 
    
    1.case语句
    (2) case语法
    	case  "choice" in
    		"var1" )
    			statement
    		;;
    		"var2" )
    			statement
    		;;
    		"var3"	)
    			statement
    		;;
    		* )
    			statement
    	esac
    
    (2) 用法
    	从/etc/init.d/httpd里拷的一段
    	case "$1" in
    	  start)
    	        start
    	        ;;
    	  stop)
    	        stop
    	        ;;
    	  status)
    	        status -p ${pidfile} $httpd
    	        RETVAL=$?
    	        ;;
    	  restart)
    	        stop
    	        start
    	        ;;
    	 *)
    	        echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
    	        exit 1
    	esac
    
    	--------------------
    	例:sshd的脚本
    	#!/bin/bash
    	case "$1" in
    	start)
    	#启动sshd服务
    		pid=`pidof sshd`
    		if [ -z $pid ]; then
    			/usr/sbin/sshd
    			echo "正在启动 sshd: [确定]"
    		else
    			echo "服务sshd(pid  $pid)已存在。"
    		fi	
    		;;
    
    	stop)
    	#停止sshd服务
    		pid=`pidof sshd`
    		if [ -z $pid ]; then
    			echo "服务sshd 已停"
    		else
    			killall sshd &> /dev/null
    			echo "停止 sshd: [确定]"
    		fi
    		;;
    
    	restart)
    	#重新启动
    		pid=`pidof sshd`
    		if [ -z $pid ]; then
    			echo "停止 sshd:[失败]"
    			/usr/sbin/sshd
    			echo "正在启动 sshd:[确定]"
    		else
    			echo "停止 sshd:[确定]"
    			/usr/sbin/sshd
    			echo "正在启动 sshd:[确定]"
    		fi
    		;;
    	
    	status)
    	#查看状态
    		pid=`pidof sshd`
    		if [ -z $pid ]; then
    			echo "服务sshd 已停"
    		else
    			echo "服务sshd (pid  $pid)正在运行..."
    		fi
    		;;
    	
    	*)
    	#如果参数不是start|stop|restart|status时,则提示
    		echo "用法:/root/ssh1.sh {start|stop|restart|status}"
    	esac
    
    
    
    	例: 写一个shell脚本,传入一个参数(字母),判断传入的字母是大小还是小写
    	#!/bin/bash
    
    	case "$1" in
    		    [A-Z] )
    		    echo "大写"
    		    ;;
    		    [a-z] )
    		    echo "小写"
    		    ;;
    		    * )
    		    echo "不是字母"
    		    exit 1
    	esac
    	-----------------------------------
    
    	#!/bin/bash
    
    	if [[ "$1" =~ [A-Z] ]];then			-- ~符号是匹配的意思
    		    echo "大写"
    	elif [[ "$1" =~ [a-z] ]];then
    		    echo "小写"
    	else
    		    echo "不是字母"
    	fi
    
    
    
    2. select
    	select表达式是一种bash的扩展应用,从ksh引进。
    2.1 语法
    
    	PS3="prompt"					--使用PS3来输出提示信息
    	select var in  choice1 choice2 choice3 ...
    	do
    		echo "................."
    	done
    
    2.2 用select做一个选择菜单
    	#!/bin/bash
    
    	PS3="请选择你使用的手机类型"
    
    	select phone in xiaomi huawei iphone samsung lenovo oppo meizu
    	do
    		case "$phone" in
    		        iphone )
    		        echo "你使用的是$phone"
    		        echo "苹果ios系统"
    		        break
    		        ;;
    		        * )
    		        echo "你使用的是$phone"
    		        echo "安卓系统"
    		        break
    		        ;;
    		esac
    	done
    

      

  • 相关阅读:
    CodeForces 242E二维线段树
    树形DP
    014 国际化
    013 属性文件
    012 BeanPostProcessor
    011 aware
    010 依赖注入
    009 IOC--初始化和销毁
    008 IOC--Bean的作用域
    007 IOC---Resource
  • 原文地址:https://www.cnblogs.com/The-day-of-the-wind/p/12064418.html
Copyright © 2020-2023  润新知