Bash:如何正确使用getops来解析参数中的数据?

时间:2014-12-01 10:18:02

标签: bash shell getopts

我需要创建一个脚本。

该脚本必须接受以下命令行选项:-n account name-r number of accounts。 执行后,脚本必须根据帐户名称和帐户数创建一批用户帐户。

例如: /usr/local/bin/batch_user -n bob -r 5应该创建用户帐户bob1,bob2,bob3,bob4,bob5

这是我第一次使用getopts并且我在理解如何使用它时遇到了一些问题,这是我到目前为止写的:

#!/bin/bash
usage () { $0 -n usernanme -r number of creations };
while getopts ":n:r:" arg; do
case "${arg}" in
n)
n=${OPTARG}
;;
r)
r=${OPTARG}
;;
esac
done

首先,我不确定如何在第一个选项(-n)之后解析数据,然后如何运行数字(-r)来创建用户? 提前致谢

1 个答案:

答案 0 :(得分:1)

您可以使用:

#!/bin/bash

usage () { echo "$0 -n usernanme -r number of creations"; }

while getopts ":n:r:" arg; do
   case "${arg}" in
      n) n=${OPTARG} ;;
      r) r=${OPTARG} ;;
   esac
done

for ((i=0; i<r; i++)); do
   echo "Adding user: ${n}${i}"
done