博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ARGV数组的作用
阅读量:5226 次
发布时间:2019-06-14

本文共 1353 字,大约阅读时间需要 4 分钟。

  今天在开发Perl脚本的时候遇到了一个问题:qualcomm给出的samples中的代码都用ARGV数组的元素个数来进行判断,代码如下:

sub ParseArguments{   # Assume failure   my $RC = false;   my $Txt = "";   my $Help =      "Syntax: Perl grep_isf.pl 
\n" . "Eg: Perl grep_isf.pl s1.isf \"MC_RESET|jammer in max bin\" \n"; if ($#ARGV < 0) { print "\n$Help\n"; return $RC; } my $ISFFileName = $ARGV[0]; if ($ISFFileName eq "") { $Txt = "Invalid ISF file name\n\n" . $Help; print "\n$Txt"; return $RC; } $ISFAbsolutePath = GetPathFromScript(); if ($ISFAbsolutePath eq "") { $Txt = "Invalid ISF file name\n\n" . $Help; print "\n$Txt"; return $RC; } else { $ISFAbsolutePath .= $ISFFileName; } $SearchString = $ARGV[1]; if ($SearchString eq "") { $Txt = "Invalid Search String\n\n" . $Help; print "\n$Txt"; return $RC; } # Success $RC = true; return $RC;}

但是穷尽了一生也没有找到ARGV的声明,这时候郭宏跑过来和我抱怨这个东西运行不了,我就随手查了查,才发现别有洞天。

ARGV其实是主函数默认的两个参数之一,数组中存储的是指令的详细内容。

举个例子: 我们写好了hello.exe 一般都是直接运行,没有添加任何的参数。但是作为一个合格的EXE,它是可以通过命令行来添加参数的,比如我们可以执行:hello.exe a b c d e

这样ARGV数组中的存储内容如下:

               argv[0] = hello.exe;

    argv[1] = a;

    argv[2] = b;

    argv[3] = c;

    argv[4] = d;

    argv[5] = e;

 所以我觉得这个automation 脚本和QXDM之前的关系应该是通过命令行的参数和命令联系起来的。下午再想想,吃饭去

转载于:https://www.cnblogs.com/linux0537/p/7267734.html

你可能感兴趣的文章
NoSQL数据库常见分类
查看>>
一题多解 之 Bat
查看>>
Java 内部类
查看>>
{面试题7: 使用两个队列实现一个栈}
查看>>
【练习】使用事务和锁定语句
查看>>
centos7升级firefox的flash插件
查看>>
Apache Common-IO 使用
查看>>
再谈Vmware NAT的配置和路由流程
查看>>
javaScript数组去重方法汇总
查看>>
评价意见整合
查看>>
二、create-react-app自定义配置
查看>>
Android PullToRefreshExpandableListView的点击事件
查看>>
系统的横向结构(AOP)
查看>>
linux常用命令
查看>>
NHibernate.3.0.Cookbook第四章第6节的翻译
查看>>
例1-1
查看>>
马达调速器,直流马达调速器,直流调速器
查看>>
前端编码规范小记
查看>>
c如何弹出保存路径/保存文件对话框
查看>>
HTML标签二
查看>>