【发布时间】:2017-02-23 04:48:14
【问题描述】:
这是我的 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" 或 "--verbose" 这将导致语法错误。
我的问题:如何正确编写(如果可能)代码:
#!/bin/bash
Verbose_Mode=0
until [ "$#" == "0" ]; do
case $1 in
"-v")
Verbose_Mode=1
;;
--verbose")
Verbose_Mode=1
;;
esac
提前感谢您的回答。
【问题讨论】:
-
请参阅How to write a case statement in Bash 了解 Bash 案例语句的正确语法。
-
您是允许用户在线上的任何地方使用开关还是仅作为第一个参数?如果只是首先你可以简单地测试它,转移并继续前进。
-
感谢您的回答。 @grail 脚本中还有其他“案例”