我们主要来看spawn类它的构造方法参数主要有command,从字面上就是指spawn类的子程序用来执行的子程序,也就是系统所能够执行的相应的命令,对于command这个参数,我们是以字符串的方式给出它所需要运行的子命令,这里包括任何系统可执行的命令,也就是我们在某个系统下来使用spawn类的时候,这个系统带有这个命令,或者说可执行这条命令,那么我们就可以将要执行的命令的字符串的形式,给command这个参数,并且这个命令是可以带参数的,而且参数可以直接放入command,第三,如果我们使用command来执行系统中的命令,它不能够直接支持管道,通配符,标志输入,输出,错误重定向。

  下面我们继续看,如果使用command这个参数,首先我们打开虚拟机,进入Python3交互的环境,导入pexpect库,那么我们首先传递给他一个最简单的命令,首先是列出当前路径下的所有文件和目录的命令,用“ls”这条命令,我们要看到这条命令的执行结果,可以调用spawn类的方法来查看,这样我们就可以看到用ls所列出来,也就是当前目录下所有的文件以及文件夹主要包括这些。

  在给command这个参数传递命令的时候,还可以给这个命令带上参数,比如将这里面的“ls”命令进行修改一下,修改为带有一个参数,以及它有列出的是哪个目录,然后我们用刚才的同样的方法,来查看这个命令运行的结果。

  可以看到它其实就是“ls - l/home/djx’”这条命令,但是它列出的目录,仍然是和刚刚的目录是相同的,并且采用的是列出详细信息的形式,对于这个command参数,它虽然可以接收一条命令或者是带有参数的命令,但是我们刚才有讲到,它是不支持管道等操作符的,那么我们下面来看一下,如果传递给他一个带有管道符的这种命令的时候会出现什么情况?

  如图,输入命令,我们给它一个管道命令,表示我们从开始的文件中显示所有的内容,并且搜索这个字符串gree,然后我们用同样的方法来进行查看,可以看到这个命令在执行的时候,出现了错误的提示,这个错误的提示也就是test和grep没有那个文件或目录,所以在这个地方,grep是把这个管道符当成是一个普通的字符,那么也就是认为test和grep作为一个文件名出现的,那么当然它不会找到这个文件并且列出其内容的,那么这个gree也提示没有那个文件或目录,是因为管道符以及通配符等等在command当中是不能够直接支持和使用的,这就是我们要介绍的作为构造参数的第一个command它的使用方法。

原文链接:http://www.maiziedu.com/wiki/library/parameter/

spawn类参数command详解的更多相关文章

  1. spawn类expect方法详解

    本文我们将介绍spawn类的基本方法expect方法,这个方法是用来匹配返回的结果,这个返回的结果是指子程序的返回结果,同时会将匹配的相关信息保存在spawn类的相关属性中. 基本属性包括三个,第一个 ...

  2. 【转】UML类图与类的关系详解

    UML类图与类的关系详解   2011-04-21 来源:网络   在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Realization).依赖(D ...

  3. [转]c++类的构造函数详解

    c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初 ...

  4. Scala 深入浅出实战经典 第63讲:Scala中隐式类代码实战详解

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  5. Scala 深入浅出实战经典 第62讲:Scala中上下文界定内幕中的隐式参数实战详解

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...

  6. UML类图与类的关系详解

    摘自:http://www.uml.org.cn/oobject/201104212.asp UML类图与类的关系详解 2011-04-21 来源:网络 在画类图的时候,理清类和类之间的关系是重点.类 ...

  7. phpcms加载系统类与加载应用类之区别详解

    <?php 1. 加载系统类方法load_sys_class($classname, $path = ''", $initialize = 1)系统类文件所在的文件路径:/phpcms ...

  8. c++类的构造函数详解

    c++类的构造函数详解 一. 构造函数是干什么的 class Counter{ public:         // 类Counter的构造函数         // 特点:以类名作为函数名,无返回类 ...

  9. Oracle GoldenGate中HANDLECOLLISIONS参数使用详解

    Oracle GoldenGate中HANDLECOLLISIONS参数使用详解   HANDLECOLLISIONS 是一个 replicat 进程参数,主要在 initial load 中使用.在 ...

随机推荐

  1. linux shmget shmctl

    shmgetint shmget(key_t key, size_t size, int flag);key: 标识符的规则size:共享存储段的字节数flag:读写的权限返回值:成功返回共享存储的i ...

  2. [leetcode]84.Largest Rectangle in Histogram ,O(n)解法剖析

    Given n non-negative integers representing the histogram's bar height where the width of each bar is ...

  3. TStringList的Find,IndexOf和Sort

    procedure TForm1.Button1Click(Sender: TObject); var MyList: TStringList; begin MyList := TStringList ...

  4. 搭建redis集群时所遇问题及解决方法

    单独一台虚拟机(系统CentOS 7) 问题1 创建redis集群环境时,输入以下命令 [root@localhost redis-cluster]# ./redis-trib.rb create - ...

  5. Android View源码解读:浅谈DecorView与ViewRootImpl

    前言 对于Android开发者来说,View无疑是开发中经常接触的,包括它的事件分发机制.测量.布局.绘制流程等,如果要自定义一个View,那么应该对以上流程有所了解.研究.本系列文章将会为大家带来V ...

  6. Mac下安装和使用GunPG(GPG)

    GPG是加解密的工具,亦可以用于签名.非对称加解密.需要公钥和私钥. mac下安装:brew install gpg 使用gpg工具校验下载文件的完整性,从官网下载KEYS和asc文件:gpg --i ...

  7. 【转载】使用事件模型 & libev学习

    参考这篇文章: http://www.ibm.com/developerworks/cn/linux/l-cn-edntwk/ 这里面使用的是 libev ,不是libevent Nodejs就是采用 ...

  8. linux下脚本监控网络流量

    linux下脚本监控网络流量 学习了:https://blog.csdn.net/chenghuikai/article/details/48437479 学习了:http://www.jb51.ne ...

  9. Raid分类说明 (from mongodb权威指南)

    RAID(Redundant Array of Independent Disk,独立磁盘冗余阵列,旧称Redundant Array of InexpensiveDisk,廉价磁盘冗余阵列) 是一种 ...

  10. Ural 2018The Debut Album(DP)

    题目地址:Ural 2018 简单DP.用滚动数组. 代码例如以下: #include <iostream> #include <cstdio> #include <st ...