Bash 编程的不同阶段

Bash 编程的不同阶段

我有一个具有不同阶段的 bash 程序,例如:

$stage=1

if [ stage -le 1]; then echo "execute stage 1" fi
if [ stage -le 2]; then echo "execute stage 2" fi
if [ stage -le 3]; then echo "execute stage 3" fi

我的代码分阶段计算起来非常耗时。我想要的是执行那些需要的阶段。

我如何才能在 Linux 中从命令终端直接调用第 3 阶段并跳过第 1 阶段和第 2 阶段。

谢谢

答案1

您可能可以使用 case 语句。假设我们创建一个名为的脚本stage.sh,那么它可能是这样的:

#!/bin/bash
case $1 in
        1) echo "stage 1" ;;
        2) echo "stage 2" ;;
        3) echo "stage 3" ;;
        *) echo "unknown stage" ;;
esac

它的作用是,$1当从命令行调用时,它会获取第一个输入 ( ) 并将其与 case 语句进行匹配。在这里,运行./stage.sh 1将显示stage 1,并且./stage.sh 5将显示,unknown stage因为没有 case 匹配(因此它将求助于选项*))。

相关内容