在bash中使用getops解析命令行参数

在linux环境中,我们通常会使用‘tar -xvf x.tar’这样的指令,其中“-xvf x.tar”就是命令行参数。

在bash脚本中,如果希望我们可以使用类似于‘bash_name.sh -x x.tar’的指令去指定如何运行脚本,则我们可以使用getops.

getops会使用类似于以下格式去解析我们的命令行参数:

# 1. -s -r can be used directly
# 2. d:/f: can be used -d/-f parameters
# The arguments would be parsed as $OPTARG
# 3. $OPTIND is another parameter getops provided as default.
# It will helps us to get the current index of the command argument  
while getopts 'srd:f:' c
do
  echo "Processing $c : OPTIND is $OPTIND"
  case $c in
    s) ACTION=SAVE ;;
    r) ACTION=RESTORE ;;
    d) DB_DUMP=$OPTARG ;;
    f) TARBALL=$OPTARG ;;
  esac
done

以上脚本并不能运行, 目前只是定义了一些变量,并没有实际的操作,则我们可以补充一些函数,来看一下其是如何工作的。

#!/usr/bin/env bash
set -eo pipefail
save_database()
{
	echo "I am saving database $1"
}

restore
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值