shell系列------循环解析脚本的参数

2024-09-04 01:08

本文主要是介绍shell系列------循环解析脚本的参数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

记录一下monkey的参数解析流程

useage() {
                echo "useage : monkey_test [--case # <test case #>]"
                echo "                     [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]"
                echo "                     [-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]"
                echo "                     [-t <seconds>]"
                echo "                     [--seed # <seed #>]"
                echo "                     [--package-list <test case package list>]"
                echo "                     [--phonenumber # <fixed dial #>]"
                echo "                     [--IMETest]"
                echo "                     [--version]"
                echo "                     [-h]"
                exit 0
}




#parsing the argument
while [ $# != 0 ]; do  #参数个数不等于0
    flag="$1"
    case "$flag" in


        -h) useage;
            ;;
        -t) if [ $# -gt 1 ]; then #add the package argument   #参数个数大于1
                arg3="$2"


                #Set the CountDwon timer
                countdowntimer="$arg3"


                shift
            else
                echo "UnKnown: argument : $flag"
                useage;
            fi
            ;;
        -p) if [ $# -gt 1 ]; then #add the package argument and install the empty Activity apk
                arg3="$2"
                package="$package -p $arg3"   #
                ispackage="true"
                shift  #传入的参数左移一个,$2变成了$1
            else
                echo "UnKnown: argument : $flag"
                useage;
            fi
            ;;


        -c) if [ $# -gt 1 ]; then #add the category argument
                arg="$2"
                category="$category -c $arg"
                shift
            else
                echo "UnKnown: argument : $flag"
                useage;
            fi
            ;;


        --seed) if [ $# -gt 1 ]; then
                arg1="$2"
                seed=$arg1
                shift
            else
                echo "UnKnown: argument : $flag"
                useage;
            fi
            ;;


    --case) if [ $# -gt 1 ]; then
                pm install /system/scripts/monkey/EmptyActivity.obj
                arg2="$2"
                echo "Choose Test Case : $arg2"
                test_case_package=`cat $package_list | head -n $arg2 | tail -n 1 | awk '{print $2}'| tr -d '\r\n'`


                #ToDo: modify to get more argument
                #test_case_category=`cat $package_list | head -n $arg2 | tail -n 1 | awk '{print NF}'`
                package=" -p $test_case_package"
                echo "package : $package"
                echo "category : $category"
                run=259200
                shift
            else
                echo "UnKnown: argument : $flag"
                useage;
            fi
            ;;


    --package-list) awk '{print $1 " " $3}' $package_list
                                            exit 0
            ;;


    --version) echo "monkey script version $version"
                                           exit 0
            ;;


    --phonenumber) if [ $# -gt 1 ]; then
                       arg3="$2"
                       phonenumber="$arg3"
                       shift
                   else
                       echo "UnKnown: argument : $flag"
                       useage;
                   fi
            ;;


    --IMETest)
                 pm install /system/scripts/monkey/TestIME.obj
                 package="$package -p com.android.testime"
            ;;


    --w)
                 argument="--pkg-whitelist-file $2"
                 shift
   ;;
    --bl)
                 argument="--pkg-blacklist-file $2"
                 shift
            ;;


         *) echo "UnKnown: argument : $flag"
                                      useage;
            ;;
    esac
    shift
done

这篇关于shell系列------循环解析脚本的参数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1134561

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

4B参数秒杀GPT-3.5:MiniCPM 3.0惊艳登场!

​ 面壁智能 在 AI 的世界里,总有那么几个时刻让人惊叹不已。面壁智能推出的 MiniCPM 3.0,这个仅有4B参数的"小钢炮",正在以惊人的实力挑战着 GPT-3.5 这个曾经的AI巨人。 MiniCPM 3.0 MiniCPM 3.0 MiniCPM 3.0 目前的主要功能有: 长上下文功能:原生支持 32k 上下文长度,性能完美。我们引入了

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言