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

      

  • 相关阅读:
    Unity3d限制帧数
    Linux 后台运行程序
    Flask异步发送邮件的方法
    [转]视图多表
    dede 织梦手机静态化一键生成插件
    如何在wordpress中设置关键词和描述
    前端PS切图
    帝国cms用自定义列表页做首页
    帝国cms 滚动加载更多整合
    swiper 自定义pagination 样式内容
  • 原文地址:https://www.cnblogs.com/imdba/p/13323169.html
Copyright © 2011-2022 走看看