Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash:优雅的方式:1美元一箱;参数1“;或;参数2“;_Bash_Arguments_Case - Fatal编程技术网

Bash:优雅的方式:1美元一箱;参数1“;或;参数2“;

Bash:优雅的方式:1美元一箱;参数1“;或;参数2“;,bash,arguments,case,Bash,Arguments,Case,这是我的Bash脚本 假设: 1) go.sh是要执行的脚本 2) 用户将以这种方式启动脚本 # ./go.sh -v file1.txt file2.txt 或 3) 我想用一种更优雅的方式来写: #!/bin/bash Verbose_Mode=0 until [ "$#" == "0" ]; do case $1 in "-v" or "--verbose") Verbose_Mode=1 ;; 这将导致语法错误,因为“-v”或“--verbo

这是我的Bash脚本

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

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

3) 我想用一种更优雅的方式来写:

#!/bin/bash
Verbose_Mode=0

until [ "$#" == "0" ]; do
   case $1 in
     "-v" or "--verbose")
      Verbose_Mode=1
      ;;
这将导致语法错误,因为“-v”或“--verbose”

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

#!/bin/bash
Verbose_Mode=0

until [ "$#" == "0" ]; do
   case $1 in
   "-v")
   Verbose_Mode=1
   ;;
   --verbose")
   Verbose_Mode=1
   ;;
   esac
提前感谢您的回答。

感谢此链接:

以下是我第一篇帖子的答案:

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

感谢

有关Bash case语句的正确语法,请参阅。您是否允许用户在该行的任何位置使用该开关,还是仅将其用作第一个参数?如果你能先简单地测试一下,换个位置,然后继续。另请参阅和。谢谢你的回答@grail脚本中还有其他“案例”
 case $1 in
     -v|--verbose) 
      Verbose_Mode=1