• 根据命令行输出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 $@
    

      

  • 相关阅读:
    dos命令积累
    bt的SoundMixerl类
    给自己一个定位
    自我的反思
    计算机爱好者 VS. 程序员
    flash实现bt传输方式
    flash获取不到页面传进来的参数的一种情况
    教程:深入理解Flash的沙箱 – Application Domains
    使用URLLoader做上传出现的问题
    原创系列之:Flex数据绑定基础介绍[转]
  • 原文地址:https://www.cnblogs.com/imdba/p/13323169.html
Copyright © 2020-2023  润新知