返回顶部
首页 > 资讯 > 服务器 >Shell脚本传递参数的3种方法比较
  • 664
分享到

Shell脚本传递参数的3种方法比较

种方法脚本参数 2022-06-04 21:06:20 664人浏览 泡泡鱼
摘要

#!/bin/bash #extracting command text_text_text_line options as parameters help_info(){ echo "NAME"


#!/bin/bash
#extracting command text_text_text_line options as parameters

help_info(){
  echo "NAME"
  echo "t$0"
  echo "SYNOPSIS"
  echo "t$0 is a shell test about process options"
  echo "DESCRIPTION"
  echo "toption like -a -b param1 -c param2 -d"
}

if [ $# -lt 0 ]
then
  help_info
fi

nomal_opts_act()
{
  echo -e "n### nomal_opts_act ###n"

  while [ -n "$1" ]
  do
  case "$1" in 
    -a)
      echo "Found the -a option"
      ;;
    -b)
      echo "Found the -b option"
      echo "The parameter follow -b is $2" 
      shift
      ;;
    -c)
      echo "Found the -c option"
      echo "The parameter follow -c is $2"
      shift
      ;;
    -d)
      echo "Found the -d option"
      ;;
     *)
       echo "$1 is not an option"
      ;;
  esac
  shift
  done
}

#用shell命令自建的选项解析,可以按照自己的想法实现
#优点:自己定制,没有做不到,只有想不到
#缺点:麻烦

getopt_act()
{
  echo -e "n### getopt_act ###n"

  GETOPTOUT=`getopt ab:c:d "$@"`
  set -- $GETOPTOUT 
  while [ -n "$1" ] 
  do
  case $1 in 
    -a)
      echo "Found the -a option"
      ;;
    -b)
      echo "Found the -b option"
      echo "The parameter follow -b is "$2""
      shift
      ;;
    -c)
      echo "Found the -c option"
      echo "The parameter follow -c is "$2""
      shift
      ;;
    -d)
      echo "Found the -d option"
      ;;
    --)
      shift
      break
      ;;
     *)
       echo "Unknow option: "$1""
      ;;
  esac
  shift
  done

  param_index=1
  for param in "$@"
  do
    echo "Parameter $param_index:$param"
    param_index=$[ $param_index + 1 ] 
  done
}

#用getopt命令解析选项和参数
#优点:相对与getopts来说是个半自动解析,自动组织选项和参数,用 -- 符号将选项与参数隔开
#缺点:相对于getopts的缺点
#1.需要与set -- 命令配合,不是必须,需要手动shift
#2.选项参数中不支持空格如 -a -b dog -c "earth moon" -d -f param1 param2 就会解析错误

getopts_act()
{
  echo -e "n### getopts_act ###n"
  while getopts :ab:c:d ARGS
  do
  case $ARGS in 
    a)
      echo "Found the -a option"
      ;;
    b)
      echo "Found the -b option"
      echo "The parameter follow -b is $OPTARG"
      ;;
    c)
      echo "Found the -c option"
      echo "The parameter follow -c is $OPTARG"
      ;;
    d)
      echo "Found the -d option"
      ;;
     *)
       echo "Unknow option: $ARGS"
      ;;
  esac
  done

  shift $[ $OPTIND -1 ] 
  param_index=1
  for param in "$@"
  do
    echo "Parameter $param_index:$param"
    param_index=$[ $param_index + 1 ] 
  done
}

#getopts 命令解析选项和参数
#优点:可在参数中包含空格如:-c "earth moon"
#      选项字母和参数值之间可以没有空格如:-bdog
#      可将未定义的选项绑定到?输出
#      Unknow option: ?

nomal_opts_act -a -b dog -c earth -d -f param1 param2
getopts_act -a -b dog -c "earth moon" -d -f param1 param2
getopt_act -a -b dog -c earth -d -f param1 param2

--结束END--

本文标题: Shell脚本传递参数的3种方法比较

本文链接: https://www.lsjlt.com/news/18441.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Shell脚本传递参数的3种方法比较
    #!/bin/bash #extracting command text_text_text_line options as parameters help_info(){ echo "NAME" ...
    99+
    2022-06-04
    种方法 脚本 参数
  • Shell脚本传递参数的方法对比
    这篇文章主要介绍“Shell脚本传递参数的方法对比”,在日常操作中,相信很多人在Shell脚本传递参数的方法对比问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell脚本传递参数的方法对比”的疑惑有所帮助!...
    99+
    2023-06-09
  • 详解shell中脚本参数传递的两种方式
    方式一:$0,$1,$2.. 采用$0,$1,$2..等方式获取脚本命令行传入的参数,值得注意的是,$0获取到的是脚本路径以及脚本名,后面按顺序获取参数,当参数超过10个时(包括10个),需要使用${10},${11}....
    99+
    2022-06-04
    shell 脚本参数传递 shell 参数传递
  • Shell脚本函数传递参数的实现方法
    如何传递参数到Shell脚本函数 通常,在其他脚本语言中,您可以将参数和参数作为function_name(parameter1, parameter2,…)传递给函数,这在shell脚本函数中不支持。在s...
    99+
    2022-07-29
    Shell函数传递参数 Shell传递参数
  • shell中脚本参数传递的方法有哪些
    这篇文章主要介绍了shell中脚本参数传递的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。方式一:$0,$1,$2..采用$0,$1,$2..等方式获取脚本命令行传...
    99+
    2023-06-09
  • Shell脚本传参数的方法介绍
    本篇内容介绍了“Shell脚本传参数的方法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、接收固定长度的参数代码如下:[root@sv...
    99+
    2023-06-09
  • Shell脚本传参数方法总结
    一、接收固定长度的参数 [root@svn shell_example]# cat params.sh #!/bin/bash #传参测试脚本 echo "My name is `basename ...
    99+
    2022-06-04
    脚本 参数 方法
  • Shell脚本通过参数名传递参数的实现代码
    平常在写shell脚本都是用$1,$2…这种方式来接收参数,然而这种接收参数的方式不但容易忘记且不易于理解和维护。linux常用的命令都可指定参数名和参数值,然而我们怎样才能给自己的shell脚本也采用参数名和参数值这样...
    99+
    2022-06-04
    Shell 参数名传递参数 Shell 传递参数
  • 怎么在Shell脚本中通过参数名传递参数
    这期内容当中小编将会给大家带来有关怎么在Shell脚本中通过参数名传递参数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。#!/bin/bashwhile getopts i:o:p:s...
    99+
    2023-06-09
  • Shell 参数传递的使用方法
    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为: $n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……具体实例:以下实例我们向脚本传递三个参数,并分别输出...
    99+
    2023-05-12
    Shell 参数传递 Shell 传递参数
  • Shell参数传递的使用方法
    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为: $n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…...
    99+
    2023-05-19
    Shell 参数传递 Shell 传递参数
  • 利用Python脚本实现传递参数的三种方式分享
    目录一、使用sys.argv的数组传入二、使用argparse包传入三、使用shell脚本的方式向python脚本传递参数背景:使用python脚本传递参数在实际工作过程中还是比较常...
    99+
    2022-12-08
    Python脚本传递参数 Python 传递参数
  • shell传参并将参数传递给sql文件的方法
    如下所示: 调用代码:   sh /tmp/t.sh 20160808  echo $1 cat /tmp/t.sql | sedyLEEDe '$s/ssssss/'$1'/g' ...
    99+
    2022-06-04
    shell 传参 sql
  • Python脚本文件外部传递参数的处理方法
    目录前言一、流文本处理二、argparse 模块三、argv 列表四、argv + argparse前言 我们写的 Python 脚本需要修改参数,当我们将脚步上传到服务器或者给不会编程的人用时,会比较不方便,如果直...
    99+
    2022-06-02
    Python脚本外部传递参数 Python传递参数 Python 外部指定参数
  • Shell脚本中判断变量为数字的3种方法
    方法1:通过expr 计算变量与一个整数值相加,如果能正常执行则为整数,否则执行出错,$?将是非0的值 expr $args + 0 &>/dev/null 方法2:打印变量通过sed替换...
    99+
    2022-06-04
    种方法 变量 脚本
  • python函数两种传参的实例比较
    本文小编为大家详细介绍“python函数两种传参的实例比较”,内容详细,步骤清晰,细节处理妥当,希望这篇“python函数两种传参的实例比较”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。对比说明位置传参与形参一一...
    99+
    2023-06-30
  • React将组件作为参数进行传递的3种方法实例
    目录前言方式一:直接传递 jsx 创建好的元素方式二:直接传递组件本身方式三:传递一个返回组件的函数三种方案的对比总结前言 在日常的开发中,开发通用组件的机会其实并不多,尤其是在各种...
    99+
    2024-04-02
  • React传递参数的几种方式
    目录父子组件之间传递参数路由传参 状态提升context引入redux父子组件之间传递参数 父组件往子组件传值,直接用this.props就可以实现 在父组件中,给需要传递...
    99+
    2024-04-02
  • Shell脚本处理浮点数的运算和比较方式
    这篇文章主要讲解了“Shell脚本处理浮点数的运算和比较方式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell脚本处理浮点数的运算和比较方式”吧!通过top命令看到的进程的CPU、内存...
    99+
    2023-06-09
  • C++ 函数参数传递方法的优缺点对比
    c++++函数参数传递分为值传递和引用传递,值传递不会修改函数中变量,优点是低内存消耗,缺点是针对大数据结构复制开销大。引用传递优点是避免了大数据结构的复制开销,缺点是可能修改调用函数中...
    99+
    2024-04-13
    c++ 函数参数 引用传递 值传递
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作