zoukankan      html  css  js  c++  java
  • 根据命令行输出key-value键值对

    在写脚本时候,有时候需要将从命令行里传的参数两两组合形成一个键值对,肯定有其他其他的写法,这里主要是想通过shift命令的实现。

    比如

    参数1:host_ip

    参数2:127.0.0.1

    参数3: user

    参数4: root

    and so on...

    可能这些参数是固定的,也可能是自定义的

    固定传参示例

    #!/bin/bash
    
    
    function get_key_value()
    {
    	if [[ -z "$1" ]];then
    		echo "$key=NULL"
    	else
    		echo "$key=$1"
    	fi
    }
    
    function main()
    {
    if [[ $# -eq 0 ]];then
    	echo "--------------------------usage------------------------------------"
    	echo " sh $0 [aaa 123] [bbb 123] [ccc 123]"
    	exit
    fi
    
    while [[ $# -gt 0 ]]
    do
    
    key=$1
    case $key in 
    aaa)
    	shift
    	get_key_value $1
    	;;
    	
    bbb)
    	shift
    	get_key_value $1
    	;;
    
    ccc)
    	shift
    	get_key_value $1
    	;;
    	
    	*)
    	echo "--------------------------usage------------------------------------"
    	echo " sh $0 [aaa 123] [bbb 123] [ccc 123]"
    	;;
    	
    esac
    shift
    done
    }
    
    main $@
    

      

    自定义传参示例

    #!/bin/bash
    
    
    function get_key_value()
    {
    	if [[ -z "$1" ]];then
    		echo "$key=NULL"
    	else
    		echo "$key=$1"
    	fi
    }
    
    function main()
    {
    if [[ $# -eq 0 ]];then
    	echo "--------------------------usage------------------------------------"
    	echo " sh $0 [key1 value1 key2 value2 ...]"
    	exit
    fi
    
    while [[ $# -gt 0 ]]
    do
    	key=$1
    	shift
    	get_key_value $1
    	shift
    done
    }
    
    main $@
    

      

  • 相关阅读:
    nagios对windows流量的检测
    Zabbix中文使用手册
    SNMP的应用
    十大经典排序算法最强总结(含JAVA代码实现)
    各种排序算法总结和比较
    MyBatis的Insert操作详解
    MyBatis 返回insert操作主键
    MyBatis insert/delete/update 的返回值
    利用aopc创建schema失败
    neo4j开发自定义存储过程注意事项
  • 原文地址:https://www.cnblogs.com/imdba/p/13323169.html
Copyright © 2011-2022 走看看