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 $@
    

      

  • 相关阅读:
    linux下svn自动启动
    linux下SVN从一台服务器迁移到另一台服务器
    linux下安装subvision
    Activiti 6.0 变化
    Nexus3将本地jar包添加到仓库
    2021年放假安排
    字典词典工具
    测试问题及心得(实时修改添加)
    外网主机远程连接内网主机
    自动化测试
  • 原文地址:https://www.cnblogs.com/imdba/p/13323169.html
Copyright © 2011-2022 走看看