广告
返回顶部
首页 > 资讯 > 精选 >Shell脚本传递参数的方法对比
  • 173
分享到

Shell脚本传递参数的方法对比

2023-06-09 17:06:23 173人浏览 安东尼
摘要

这篇文章主要介绍“shell脚本传递参数的方法对比”,在日常操作中,相信很多人在Shell脚本传递参数的方法对比问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell脚本传递参数的方法对比”的疑惑有所帮助!

这篇文章主要介绍“shell脚本传递参数的方法对比”,在日常操作中,相信很多人在Shell脚本传递参数的方法对比问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell脚本传递参数的方法对比”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

#!/bin/bash#extracting command text_text_text_line options as parametershelp_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_infofinomal_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 param2getopts_act -a -b dog -c "earth moon" -d -f param1 param2getopt_act -a -b dog -c earth -d -f param1 param2

到此,关于“Shell脚本传递参数的方法对比”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Shell脚本传递参数的方法对比

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作