如何优化bash脚本中的功能

时间:2018-09-05 05:56:08

标签: bash

下面是我脚本的一小部分,在wau函数中,我调用了另一个函数名称whitelableau,它具有多个变量,例如var1,var2等。

问题是,当我运行该脚本时,它将执行存储在whitelableau中的所有变量,然后在等于所提及的字符串时执行条件检查,然后回显命令$ var。要执行此结果需要花费时间。

脚本部分:

#!/bin/bash

whitelableau() {
     var1=`curl -s 'site' | cut -d ',' -f1 | cut -d ':' -f2`
    many other variable like above
}

wau() {
whitelableau
    if [ "$opt_var" == "hsandroid" ]; then    ##opt_var argument pass alongwith script
    echo "Active Users: $var1 | Active Users: $var1"
    exit $ST_OK;
elif [ "$opt_var" == "hsbcios" ]; then
    echo "Active Users: $var2 | Active Users: $var2"
    exit $ST_OK;
else
    echo "Parameter not found"
    exit $ST_UK


(( $# )) || echo "No argument supplied, Use -h switch to get help."
while test -n "$1"; do
         case "$1" in
         --help|-h)
            print_help
            exit $ST_UK
            ;;
        --activeusers|-a)
            opt_var=$2
            wau
            shift;;
        *)
    echo "Unknown argument: $1"
        print_help
        exit $ST_UK
        ;;
    esac
    shift
done

...等等

调试输出:bash -x脚本-a hsandroid

+ wau
+ whitelableau
++ command execute in $var1
++ cut -d , -f1
++ cut -d : -f2
+ activeusers=145
++ command execute in $var2
++ cut -d , -f1
++ cut -d : -f2
+ activeusersios=202
+ '[' hsandroid == hsandroid ']'
+ echo 'Active Users: 145 | Active Users: 145' Active Users: 145 | Active Users: 145

注意:我没有在这里写一些变量,例如$ ST_OK。

0 个答案:

没有答案