Bash:优雅的方式:案例$ 1 in"参数1"或"参数2"

时间:2017-02-23 04:48:15

标签: bash arguments case

这是我的Bash脚本。

假设: 1)go.sh是要执行的脚本 2)用户将以这种方式启动脚本

# ./go.sh -v file1.txt file2.txt

# ./go.sh --verbose file1.txt file2.txt

3)我想用更优雅的方式来写这个:

#!/bin/bash
Verbose_Mode=0

until [ "$#" == "0" ]; do
   case $1 in
     "-v" or "--verbose")
      Verbose_Mode=1
      ;;

这会导致语法错误,因为:" -v"或" - 详细"。

我的问题:如何正确编写(如果可能)代码:

#!/bin/bash
Verbose_Mode=0

until [ "$#" == "0" ]; do
   case $1 in
   "-v")
   Verbose_Mode=1
   ;;
   --verbose")
   Verbose_Mode=1
   ;;
   esac

提前感谢您的回答。

1 个答案:

答案 0 :(得分:1)

感谢此链接:How do I parse command line arguments in Bash?

以下是我的第一篇文章的答案:

 case $1 in
     -v|--verbose) 
      Verbose_Mode=1

由于