首页 > 解决方案 > 更好的方法然后有多个 elif 语句

问题描述

我有一个名为 file.txt 的文件,其中有一些从 1 到 100 的随机数。所以脚本读取文件并执行一堆命令并打印一些语句。

实现结果的一种方法可能是这样的,但是在脚本中有 100ifelif语句看起来不太好。

for i in `cat file.txt`; do
  echo "Displaying" $i
    if [[ $i = 1 ]]; then
        echo "blah blah blah for" $i
        command1
        command2
    elif [[ $i = 2 ]]; then
        echo "blah blah blah for" $i
        command3
        command4
        command5
    elif [[ $i = 3 ]]; then
        echo "blah blah blah for" $i
        command6
        command7
    elif [[ $i = 4 ]]; then
        echo "blah blah blah for" $i
        command8
        command9
        command10
    elif [[ $i = 5 ]]; then
        echo "blah blah blah for" $i
        command11
        command12
        command13
        command14
    elif [[ $i = 6 ]]; then
        echo "blah blah blah for" $i
        command15

        ....
        ....
        ....
        ....
        ....
        ....
    elif [[ $i = 99 ]]; then
        echo "blah blah blah for" $i
        command310
        command311
        command312
        command313
        command314
    elif [[ $i = 100 ]]; then
        echo "blah blah blah for" $i
        command315
    fi
done

有没有更好或更聪明的方法在 bash 上做这些

标签: bashif-statement

解决方案



推荐阅读