下面是我脚本的一小部分,在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。