建议给定嵌套循环的优化代码

| 请帮助我使以下代码更具可读性或(建议进行任何优化)
    @for i in $(LIST_A); do \\
            for j in  $(LIST_B); do\\
            if [ \"$$i\" = \"$$j\" ] ;then\\
             echo \" A match found \";\\                
            else\\
            echo \"Not found any corresponding String in LIST_B \";\\
                     fi; \\
            done\\
    done;
    
已邀请:
        不确定您的问题中使用的是哪种Shell语言,但这是您可以使用的Korn版本...
#!/bin/ksh

LIST_A=\"a b c d e\"
LIST_B=\"d f g\"

got_match=\"0\"

for item_A in $LIST_A
do
    #echo $item_A
    for item_B in $LIST_B
    do
        #echo $item_A \"  \" $item_B
        if [ \"$item_A\" == \"$item_B\" ]
        then
            echo \"matched \" $item_A
            got_match=\"1\"
            break 2;
        fi
    done
done

if [ \"$got_match\" == \"0\" ]
then
    echo \"no match\"
fi
\“ break 2 \”退出两个循环(假定这就是您想要的) “……使可读性更强……”,也许是一种风格,但我的建议是: 使用有意义的名称而不是i和j 在一行上避免多条语句(避免使用;) 正确缩进 指示意图的注释(如果意图不明显) 另一个建议是:在以后的问题中提供有效的代码版本/代码段,以便其他人可以运行进行测试并指出其语言。     

要回复问题请先登录注册