返回顶部
首页 > 资讯 > 精选 >shell脚本怎么使用两个横杠接收外部参数
  • 189
分享到

shell脚本怎么使用两个横杠接收外部参数

2023-06-09 11:06:08 189人浏览 安东尼
摘要

小编给大家分享一下shell脚本怎么使用两个横杠接收外部参数,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!首先,效果是这样的:既可以处理短选项(-)又可以处理长选项(--)[developer@hadoop-cluster

小编给大家分享一下shell脚本怎么使用两个横杠接收外部参数,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

首先,效果是这样的:

既可以处理短选项(-)又可以处理长选项(--)

[developer@hadoop-cluster-manager shell]$ ./demo.sh --helpsqoop程序开始运行: demo.shUsage: ./demo.sh [options] Options: --append, -a:   追加导入(默认为追加模式) --overwrite, -o: 覆盖导入   --method, -m:   single-单日导入          interval-区间导入          all-全表导入  --date, -d:    单日导入,某一日期数据(格式为yyyymmdd)  --startdate, -s: 区间导入,开始日期 --enddate, -e:  区间导入,结束日期  --help, -h     帮助

shell脚本接外部参数有一种很简单的办法,在脚本中使用$0,$1,$2...指代执行脚本时传入的第几个参数($0是脚本名)。

但是,这样做毕竟不够优雅,

另一种方法shell脚本内使用getopts命令,只可以接短选项(eg:-d,-s,-h),很方便,比较简单,可以自己去搜一搜。

但如果想要达成上面这种效果同时支持长选项和短选项(eg:--date,-d,--startdate,-s,--help,-h),

就只能使用getopt命令了:

# 定义命令执行选项if ! ARGS=$(getopt -o aom:d:s:e:h --long append,overwrite,method:,date:,startdate:,enddate:,help -n "$0" -- "$@"); then  echo "Terminating..."  echo -e "Usage: ./$SCRIPT_NAME [options]\n"  echo -e "Options:\n --append, -a:   追加导入(默认为追加模式)\n --overwrite, -o: 覆盖导入 \n\n --method, -m:   single-单日导入\n          interval-区间导入\n          all-全表导入\n\n --date, -d:    单日导入,某一日期数据(格式为yyyymmdd)\n\n --startdate, -s: 区间导入,开始日期\n --enddate, -e:  区间导入,结束日期\n\n --help, -h     帮助"  exit 1fi # 将规范化后的命令行参数分配至位置参数($1,$2,...)# The -- ensures that whatever options passed in as part of the script won't get interpreted as options for set, but as options for the command denoted by the $progname variable.eval set -- "${ARGS}" # 接受执行选项;赋值给变量while true; do case "$1" in  -a|--append)   mode='append'   shift   ;;  -o|--overwrite)   mode='overwrite'   shift   ;;  -m|--method)   method=$2   shift 2   ;;  -d|--date)   date=$2   shift 2   ;;  -s|--startdate)   startdate=$2   shift 2   ;;  -e|--enddate)   enddate=$2   shift 2   ;;  --)   shift   break   ;;  -h|--help)   echo -e "Usage: ./$SCRIPT_NAME [options]\n"   echo -e "Options:\n --append, -a:   追加导入(默认为追加模式)\n --overwrite, -o: 覆盖导入 \n\n --method, -m:   single-单日导入\n          interval-区间导入\n          all-全表导入\n\n --date, -d:    单日导入,某一日期数据(格式为yyyymmdd)\n\n --startdate, -s: 区间导入,开始日期\n --enddate, -e:  区间导入,结束日期\n\n --help, -h     帮助"   exit 0   ;;  ?)   echo "missing options, pls check!"   exit 1   ;; esacdone

看完了这篇文章,相信你对“shell脚本怎么使用两个横杠接收外部参数”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: shell脚本怎么使用两个横杠接收外部参数

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

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

猜你喜欢
  • shell脚本怎么使用两个横杠接收外部参数
    小编给大家分享一下shell脚本怎么使用两个横杠接收外部参数,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!首先,效果是这样的:既可以处理短选项(-)又可以处理长选项(--)[developer@hadoop-cluster...
    99+
    2023-06-09
  • shell脚本使用两个横杠接收外部参数的方法
    首先,效果是这样的: 既可以处理短选项(-)又可以处理长选项(--) [developer@hadoop-cluster-manager shell]$ ./demo.sh --help sqoop程序开始运行: d...
    99+
    2022-06-04
    shell脚本接收参数 shell接收外部参数
  • 使用@PathVariable接收两个参数
    目录@PathVariable接收两个参数首先在Controller这样接收记一个使用@PathVariable的坑发现问题解决过程解决方案第一种第二种第三种第四种@PathVari...
    99+
    2024-04-02
  • 怎么复用外部Shell脚本
    这篇文章主要为大家展示了“怎么复用外部Shell脚本”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么复用外部Shell脚本”这篇文章吧。执行外部脚本的方式假如在当前目录有 a.sh 脚本,内容...
    99+
    2023-06-15
  • Linux下怎么复用外部shell脚本
    这篇文章的内容主要围绕Linux下怎么复用外部shell脚本进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在Linux开发中,经常会编写shell脚...
    99+
    2023-06-28
  • java怎么调用shell脚本传参数
    在Java中调用shell脚本并传递参数,可以使用`ProcessBuilder`类。以下是一个示例:```javaimport j...
    99+
    2023-10-11
    java shell
  • Shell脚本中怎么判断输入参数的个数
    这期内容当中小编将会给大家带来有关Shell脚本中怎么判断输入参数的个数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。$#代表了命令行的参数数量,可以看以下实例:if [ $# != 1 ] ; then...
    99+
    2023-06-09
  • 怎么使用shell脚本判断参数是否为空
    在shell脚本中,可以使用条件判断语句来判断参数是否为空。以下是一个示例:```shell#!/bin/bashif [ -z "...
    99+
    2023-09-15
    shell
  • Shell脚本中怎么调用和引用另外一个脚本文件
    这篇文章主要讲解了“Shell脚本中怎么调用和引用另外一个脚本文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell脚本中怎么调用和引用另外一个脚本文件”吧!脚本 first (测试示...
    99+
    2023-06-09
  • 怎么用shell脚本读取命令行参数
    这篇文章主要介绍“怎么用shell脚本读取命令行参数”,在日常操作中,相信很多人在怎么用shell脚本读取命令行参数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用shell脚本读取命令行参数”的疑惑有所...
    99+
    2023-06-20
  • 怎么在Shell脚本中使用for循环遍历参数
    这篇文章将为大家详细讲解有关怎么在Shell脚本中使用for循环遍历参数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.当一个脚本需要传入的参数较多时,可以使用for循环进行参数遍历示例:...
    99+
    2023-06-09
  • 怎么使用Shell脚本自动部署项目
    这篇文章主要介绍了怎么使用Shell脚本自动部署项目的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Shell脚本自动部署项目文章都会有所收获,下面我们一起来看看吧。①:在Linux中安装Gityum&n...
    99+
    2023-07-05
  • Shell脚本中的函数怎么使用
    本篇内容介绍了“Shell脚本中的函数怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Shell脚本中的功能是什么?函数是一组命令,这...
    99+
    2023-06-04
  • shell脚本返回值可以使用什么参数实现
    这篇文章主要介绍shell脚本返回值可以使用什么参数实现,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!shell脚本的返回值可以使用return参数,但是return只能返回整数类型的值。因此实现比较复杂的功能的话s...
    99+
    2023-06-09
  • 使用shell脚本怎么备份数据库
    今天就跟大家聊聊有关使用shell脚本怎么备份数据库,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Shell 脚本 Shell 脚本(shell script),是一种为 shell...
    99+
    2023-06-09
  • 怎么在Shell脚本中使用function函数
    怎么在Shell脚本中使用function函数?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。函数可以在shell script当中做一个类似自定义执行命令,最大的功能就是可以简...
    99+
    2023-06-09
  • 使用shell脚本怎么搭建一个nfs服务
    这篇文章将为大家详细讲解有关使用shell脚本怎么搭建一个nfs服务,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。#vim /sh/zidong_dajian_nfs_fuwu.sh#!/b...
    99+
    2023-06-09
  • 怎么使用shell脚本查看网络接口信息
    这篇文章主要介绍“怎么使用shell脚本查看网络接口信息”,在日常操作中,相信很多人在怎么使用shell脚本查看网络接口信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用shell脚本查看网络接口信息...
    99+
    2023-06-27
  • oracle怎么用shell脚本链接数据库进行操作
    本篇内容主要讲解“oracle怎么用shell脚本链接数据库进行操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle怎么用shell脚本链接数据库进行...
    99+
    2024-04-02
  • 怎么在shell脚本中使用字符串和数组
    这篇文章将为大家详细讲解有关怎么在shell脚本中使用字符串和数组,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。字符串可以使用单引号和双引号定义字符串变量但是单引号中不支持变量解析#!&nb...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作