基于命令行的命令执行方法及命令行操作系统的制作方法

文档序号:6377597阅读:214来源:国知局
专利名称:基于命令行的命令执行方法及命令行操作系统的制作方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于命令行的命令执行方法及命令行操作系统。
背景技术
命令行是一种常见的人机交互方式,其由命令行操作系统提供,是计算机操作系统的一种输入、输出界面,与图形界面相对。具体来说,命令行即在计算机的屏幕或某一窗口中只显示字符,不显示图形。在没有图形界面出现以前,命令行是主流,现在计算机性能大大提高后,命令行的使用越来越少。但因为命令行的格式灵活而且实现简单,像查找文件的命令就比基于图形界面的查找有更多的过滤功能而且使用起来并不复杂,因此目前仍在 某些方面有应用。比如dos命令和Iinux命令在windows和Iinux有图形界面之后还依然被广大用户使用。命令行操作系统中的命令多数都是依照树形结构来进行按层次组织的,在树形结构中,同属同一层次命令归属于同一命令模式。按照树形结构,每个命令模式下的命令都是在该命令模式的前一层命令模式下的命令的基础上进一步进行配置。比如,dos命令模式中有一层命令模式叫做interface模式,其下一层命令模式即ipv4和ipv6模式下的命令都是用于实现对接口的IP协议配置。具体地,ipv4模式下的set address命令(命令格式为netsh interface ipv4>set address)和 ipv6 模式下的 set address 命令(命令格式为netsh interface ipv6>set address)分别是给两个版本的IP协议配置地址,因为这两条命令的上一层命令模式已经限定了 IP协议的版本上下文,所以即使这两条命令格式类似,其分别实现的也是不同的功能。因为有命令模式上下文的限制,所以针对某个命令模式下的命令,命令行操作系统一定要在相应的模式下执行该命令。如果命令行操作系统当前所执行的命令不在该模式下,那么就需要通过执行模式跳转命令(像dos里的interface命令、ipv6命令都是模式跳转命令)而实现跳转到该模式下。比如,如果当前命令行操作系统当前所运行的命令是在ipv4模式下,那么,当其要运行与ipv6相关的命令时,就一定要跳转到ipv6模式下。现有技术中的命令行操作系统还不支持用户同时输入多条命令的方式,而只能按照先获得并执行完毕一条命令,然后再获得并执行另一命令的方式来执行命令。这样的命令获取与执行方式,使得用户只能在输入一条命令并等待足够长的时间以保证命令行操作系统完成该命令的执行后,再输入另外的命令。据统计,用户采用分次输入多条命令所耗的时长一般会远远大于用户一次性输入多条命令所耗时长,由此可见,现有技术中的命令行操作系统的命令执行方式会在很大程度上限制命令行操作系统的工作效率。

发明内容
本发明实施例提供一种基于命令行的命令执行方法及装置,用以解决现有技术中的命令行操作系统的命令执行方式存在的会导致命令行操作系统的工作效率低下的问题。
本发明实施例采用以下技术方案一种基于命令行的命令执行方法,包括命令行操作系统获得命令集合,其中,所述命令集合包含至少两条命令和不同命令之间存在的命令行操作系统所能识别的命令分隔符;命令行操作系统根据所述命令分隔符,依次解析出所述命令集合中包含的可执行命令并执行。一种命令行操作系统,包括命令集合获得单元,用于获得命令集合,其中,所述命令集合包含至少两条命令和不同命令之间存在的命令行操作系统所能识别的命令分隔符;
命令解析与执行单元,用于根据命令集合获得单元获得的命令集合中包含的所述命令分隔符,依次解析出所述命令集合中包含的可执行命令并执行。本发明实施例的有益效果如下本发明实施例通过约定命令行操作系统所能识别的命令操作符,从而使得命令行操作系统即使同时获得多条命令,基于用于区分不同命令的命令操作符,也能够识别并执行多条由命令操作符进行区分的命令。由于采用上述方案,能够支持用户在一次输入中就输入多条命令,从而大大提高了命令行操作系统的工作效率,解决了现有技术中的命令行操作系统的命令执行方式存在的会导致命令行操作系统的工作效率低下的问题。


图I为本发明实施例提供的一种基于命令行的命令执行方法的具体流程示意图;图2为本发明实施例提供的一种命令行操作系统的具体结构示意图。
具体实施例方式为了解决现有技术中的命令行操作系统的命令执行方式存在的会导致命令行操作系统的工作效率低下的问题,本发明实施例提供一种基于命令行的命令执行方案。通过设置用于区分不同命令的命令分隔符,从而使得命令行操作系统方法能够从其同时获得的包含多条命令的命令集合中,识别并执行不同命令。以下结合附图,详细说明本发明实施提供的方案。首先,本发明实施例提供一种如图I所示的基于命令行的命令执行方法,该方法主要包括下述步骤 步骤11,命令行操作系统获得命令集合,其中,该命令集合包含至少两条命令和不同命令之间存在的命令行操作系统所能识别的命令分隔符;具体地,命令分隔符可以为“,”或“。”等其他形式的符号,本发明实施例对命令分隔符的具体形式不做限定。但需要保证的是,命令行操作系统能识别出用作命令分隔符的符号,比如,可以通过预先约定的方式,使命令行操作系统获知具体是怎样的符号代表了命令分隔符。在实际应用中,上述命令集合的一个具体的例子可以是!interface ethl,ipv4address I. 2. 3. 4, ipv6addresssl00:200。该命令集合中一共包含三条命令,它们分别是interface ethl、ipv4address和ipv6addresss。此外,该命令集合中还包含两个命令分隔符“,”。
为了便于用户输入,以提高命令行操作系统的处理效率,本发明实施例中的命令行操作系统还可以将待输入参数值的多条命令展示于命令行中。这样,命令行操作系统就可以获得用户基于展示于命令行中的多条命令所输入的参数值,并根据获得的参数值、展示于命令行中的多条命令以及命令分隔符,生成上述命令集合。比如,针对上述具体的例子,命令行操作系统可以在命令行中展示“interface」ipv4 address_, ipv6 addresss_”这样的多条命令,或者分别展示“interface_”、“ipv4 addressJlP“ipv6 address_”这样的多条命令。基于这样的展示,用户只需要输入这几条命令所需的相应参数值即可。上述展示方式的 另一个好处在于,在多次重复输入多条命令,且不同次所输入的多条命令仅仅是参数值略有区别的场景下,采用该展示方式可以使得用户在每次输入命令时,只需要修改参数值,而无需再重复输入整条命令。比如,在给接口 ethl到ethlO配置ip地址时,针对ethl只需要输入3个参数值,分别是interface ethl, ipv 4address1.2. 3. 4,ipv6 addresss 100:200中用下划线所表示的参数。类似的,针对其他接口,就只需要输入类似的该些参数。这样就可以在配置较多个接口时不至于有遗漏。而按照现有技术,如果是一次只能输入一个命令,那么在输入次数较多时就容易遗漏命令,还需要用户回头来检查一下是否遗漏了某些命令,从而大大影响了命令行操作系统的处理效率。步骤12,命令行操作系统根据命令集合中包含的命令分隔符,依次解析出并命令集合中包含的可执行命令并执行。一般地,命令集合中可能会同时包含可执行命令和一些不能被执行的命令。因此在执行命令集合中包含的命令时,需要对可执行命令进行识别,并仅执行可执行命令。针对任意命令,本发明实施例中采用的识别方式是比较该命令和预先设置的可执行命令集合,若比较出该命令与可执行命令集合中包含的可执行命令相匹配,则确定该命令为可执行命令;否则,则确定该命令为不能被执行的命令。本发明实施例中,提供两种用于实现步骤12的方式,分别如下方式I :解析出所有可执行命令后再依次执行各条可执行命令的方式。具体包括下述步骤步骤一命令行操作系统从命令集合中解析得到第一条可执行命令;步骤二 命令行操作系统以所述第一条可执行命令作为最后获取的可执行命令;步骤三针对最后获取的可执行命令,执行下述操作,直至判断出命令集合中不存在位于最后获取的可执行命令后的命令分隔符时,按照从命令集合中解析出各条解析出的可执行命令的次序,依次执行解析出的各条可执行命令子步骤一判断命令集合中是否存在位于该最后获取的可执行命令后的命令分隔符;子步骤二当判断结果为是时,从命令集合中解析出位于紧邻该最后获取的可执行命令的命令分隔符后的可执行命令;子步骤三以位于紧邻该最后获取的可执行命令的命令分隔符后的可执行命令,作为最后获取的可执行命令,并对其执行针对最后获取的可执行命令所执行的操作。按照方式I,以命令集合 interface ethl, ipv4 address I. 2. 3. 4, ipv6addresssl00:200为例,并假设该命令集合所包含的三条命令均为可执行命令,则命令行操作系统首先确定的第一条可执行命令是“interface ethl”。然后,根据interfaceethl与ipv4 address I. 2. 3. 4之间的命令分隔符“,”,可以获取位于第一条可执行命令“interface ethl ” 后的第二条可执行命令 “ ipv4 address I. 2. 3. 4”。最后,根据 ipv4address I. 2. 3. 4与ipv6 addresss 100:200之间的分隔符命令分隔符“,可以获取位于第二条可执行命令“ipv4 address I. 2. 3. 4”后的第三条可执行命令ipv6 addresss100:200。需要说明的是,由于“interface”是跳转到接口模式的命令,因此紧随其后的“,”分隔符之后的可执行命令只能是接口模式下的命令,如ipv4 addressl. 2. 3. 4和ipv6addresss 100:200 等。按照方式1,在确定出上述三条可执行命令后,会依次执行interface ethl、ipv4address I.2·3·4 和 ipv6 addresss 100:200。方式2 :边解析出可执行命令边执行的方式。具体包括下述步骤步骤一命令行操作系统从命令集合中解析得到第一条可执行命令,并执行第一 条可执行命令;步骤二 在第一条可执行命令执行完毕后,命令行操作系统以第一条可执行命令作为最后执行完毕的命令;步骤三针对最后执行完毕的命令,执行下述操作,直至判断出命令集合中不存在位于最后执行完毕的命令后的命令分隔符子步骤一判断命令集合中是否存在位于该最后执行完毕的命令后的命令分隔符;子步骤一当判断结果为是时,从所述命令集合中解析出位于紧邻该最后执行完毕的命令的命令分隔符后的可执行命令;子步骤二 在位于紧邻该最后执行完毕的命令的命令分隔符后的可执行命令执行完毕后,以位于紧邻该最后执行完毕的命令的命令分隔符后的可执行命令,作为最后执行完毕的命令,并对其执行上述针对最后执行完毕的命令所执行的操作。本发明实施例中,命令行操作系统从命令集合中解析得到第一条可执行命令的具体方式可以如下首先,命令行操作系统从命令集合中解析得到第一条命令;然后,判断第一条命令是否与预设的可执行命令集合中包含的可执行命令相匹配,并在判断结果为是时,以第一条命令作为所述第一条可执行命令,在判断结果为否时,以第一条命令作为已判定命令,并针对已判定命令,执行下述操作,直至判断出解析出的位于紧邻该已判定命令的命令分隔符后的命令与预设的可执行命令集合中包含的可执行命令相匹配时,将解析出的位于紧邻该已判定命令的命令分隔符后的命令确定为第一条可执行命令子步骤一确定命令集合中是否存在位于该已判定命令后的命令分隔符;子步骤二当确定结果为是时,从命令集合中解析出位于紧邻该已判定命令的命令分隔符后的命令;子步骤三判断解析出的位于紧邻该已判定命令的命令分隔符后的命令是否与预设的可执行命令集合中包含的可执行命令相匹配;子步骤四在判断结果为否时,执行操作
输出命令修改提示,并获得用户根据所述命令修改提示所输入的命令;在所述输入的命令与预设的可执行命令集合中包含的可执行命令相匹配时,以所述输入的命令作为所述第一条可执行命令;在所述输入的命令与预设的可执行命令集合中包含的可执行命令不匹配时,执行在所述判断结果为否时所执行的上述操作,直至所述输入的命令与预设的可执行命令集合中包含的可执行命令相匹配。类似的,针对命令集合中包含的其他命令,当其存在错误时,也可以提醒用户进行修改。具体地,命令行操作系统依次解析出命令集合中包含的可执行命令的过程具体可以包括命令行操作系统从命令集合依次解析出各条命令,并针对每次解析出的命令,执行判断解析出的该条命令是否与预设的可执行命令集合中包含的可执行命令相匹配; 在判断结果为是时,将该条命令确定为解析出的可执行命令;在判断结果为否时,执行操作输出命令修改提示,并获得用户根据命令修改提示所输入的命令;在输入的命令与预设的可执行命令集合中包含的可执行命令相匹配时,将输入的命令确定为解析出的可执行命令;在输入的命令与预设的可执行命令集合中包含的可执行命令不匹配时,执行在判断结果为否时所执行的上述操作,直至输入的命令与预设的可执行命令集合中包含的可执行命令相匹配时,将输入的命令确定为解析出的可执行命令。采用本发明实施例提供的方案,通过约定命令行操作系统所能识别的命令操作符,从而使得命令行操作系统即使同时获得多条命令,基于用于区分不同命令的命令操作符,也能够识别并执行多条由命令操作符进行区分的命令。由于采用上述方案,能够支持用户在一次输入中就输入多条命令,从而大大提高了命令行操作系统的工作效率,解决了现有技术中的命令行操作系统的命令执行方式存在的会导致命令行操作系统的工作效率低下的问题。在现有技术中,若命令行操作系统欲执行的AA命令是处于某个A模式下的,而在执行A模式下的AA命令前需要先执行B模式下的某个BB命令,否则AA命令将不能执行,那么,若命令行操作系统当前所执行的命令处于A模式下,就需要先退出A模式再跳转到BB命令所在的B模式下去执行相应的BB命令,然后再退出B模式并跳转回A模式继续获得并执行AA命令。实际上,这个由A模式跳转到B模式,再由B模式跳转到A模式的模式跳转过程完全是属于额外操作,真正有价值的是执行BB命令和AA命令。而在本发明实施例中,针对上述情况,提出了一种避免在不同命令模式下跳转而导致资源浪费的方案。具体如下若假设命令行操作系统在根据所述命令分隔符,依次解析出所述命令集合中包含的可执行命令并执行之前,执行的是第一命令模式下的命令;则命令行操作系统按照依次执行获得的每条可执行命令的方式,执行可执行命令获得子单元获得的每条命令,直至获得的所有可执行命令被执行完毕,并在执行过程中,当命令集合中包含的最后一条可执行命令为第二模式跳转命令(第二模式跳转命令所指示跳转到的命令模式不同于第一命令模式)时,采用下述执行规则命令行操作系统依次执行到获得的可执行命令中包含的、除所述命令集合中包含的最后一条可执行命令的模式跳转命令时,执行下述操作当该模式跳转命令所指示跳转到的命令模式不同于所述第一命令模式时,命令行操作系统从预先设置的虚拟命令行操作系统中,调用用于执行该模式跳转命令所指示跳转到的命令模式下的命令的虚拟命令行操作系统,依次执行位于该模式跳转命令之后的、处于该模式跳转命令所指示跳转到的命令模式下的、连续出现在所述命令集合中的可执行命令;当所述模式跳转命令所指示跳转到的命令模式为所述第一命令模式时,命令行操作系统依次执行位于该模式跳转命令之后的、处于第一命令模式下的、连续出现在所述命令集合中的可执行命令;以及
针对所述命令集合中包含的最后一条可执行命令,命令行操作系统跳转到所述第二命令模式跳转命令所指示跳转到的命令模式下。而当命令集合中包含的最后一条可执行命令不是第二模式跳转命令时,采用下述执行规则命令行操作系统依次执行到获得的可执行命令中包含的、除命令集合中包含的最后一条可执行命令的模式跳转命令时,执行下述操作当该模式跳转命令所指示跳转到的命令模式不同于第一命令模式时,命令行操作系统从预先设置的虚拟命令行操作系统中,调用用于执行该模式跳转命令所指示跳转到的命令模式下的命令的虚拟命令行操作系统,依次执行位于该模式跳转命令之后的、处于该模式跳转命令所指示跳转到的命令模式下的、连续出现在命令集合中的可执行命令;当该模式跳转命令所指示跳转到的命令模式为第一命令模式时,命令行操作系统依次执行位于该模式跳转命令之后的、处于第一命令模式下的、连续出现在命令集合中的可执行命令。通过上述改进方案,即使命令行操作系统当前所执行的命令处于A模式下,也无需经历上述模式跳转过程,而是可以在当前所执行的命令所处的A模式下,当执行到用于指示跳转到B模式的模式跳转命令时,直接调用相应的虚拟命令行操作系统来执行需要在B模式下执行的BB命令。这样,在BB命令执行完成之后,命令行操作系统也无需执行模式跳转而可以实现继续在A模式下可以继续执行AA命令,从而减少了跳转模式的步骤,节省了命令行操作系统的处理资源。需要说明的是,虚拟命令行操作系统的设置方式可以采用现有技术中已有的设置虚拟设备的手段,本发明不再赘述其具体的设置过程。为了解决现有技术中的命令行操作系统的命令执行方式存在的会导致命令行操作系统的工作效率低下的问题,本发明实施例还提供一种命令行操作系统。该系统的具体结构示意图如图2所示,主要包括下述功能单元命令集合获得单元21,用于获得命令集合,其中,命令集合包含至少两条命令和不同命令之间存在的命令行操作系统所能识别的命令分隔符;命令解析与执行单元22,用于根据命令集合获得单元21获得的命令集合中包含的命令分隔符,依次解析出命令集合中包含的可执行命令并执行。
对应于前文方法实施例中所述的关于命令的第I种解析与执行方式,命令解析与执行单元22的具体功能可以为从命令集合中解析得到第一条可执行命令;以该第一条可执行命令作为最后获取的可执行命令;针对最后获取的可执行命令,执行下述操作,直至判断出所述命令集合中不存在位于最后获取的可执行命令后的命令分隔符时,按照从所述命令集合中解析出各条解析出的可执行命令的次序,依次执行解析出的各条可执行命令判断命令集合中是否存在位于该最后获取的可执行命令后的命令分隔符;当判断结果为是时,从命令集合中解析出位于紧邻该最后获取的可执行命令的命令分隔符后的可执行命令;以位于紧邻该最后获取的可执行命令的命令分隔符后的可执行命令,作为最后获取的可执行命令,并对其执行上述针对最后执行获取的可执行命令所执行的操作。对应于前文方法实施例中所述的关于命令的第2种解析与执行方式,命令解析与 执行单元22的具体功能可以为从命令集合中解析得到第一条可执行命令,并执行第一条可执行命令;在第一条可执行命令执行完毕后,以所述第一条可执行命令作为最后执行完毕的命令;针对最后执行完毕的命令,执行下述操作,直至判断出命令集合中不存在位于最后执行完毕的命令后的命令分隔符判断命令集合中是否存在位于该最后执行完毕的命令后的命令分隔符;当判断结果为是时,从命令集合中解析出位于紧邻该最后执行完毕的命令的命令分隔符后的可执行命令;在位于紧邻该最后执行完毕的命令的命令分隔符后的可执行命令执行完毕后,以位于紧邻该最后执行完毕的命令的命令分隔符后的可执行命令,作为最后执行完毕的命令,并对其执行上述针对最后执行完毕的命令所执行的操作。可选的,命令解析与执行单元22具体可以用于从命令集合依次解析出各条命令,并针对每次解析出的命令,执行判断解析出的该条命令是否与预设的可执行命令集合中包含的可执行命令相匹配;在判断结果为是时,将该条命令确定为解析出的可执行命令;在判断结果为否时,执行操作输出命令修改提示,并获得用户根据所述命令修改提示所输入的命令;以及在所述输入的命令与预设的可执行命令集合中包含的可执行命令相匹配时,将所述输入的命令确定为解析出的可执行命令;在所述输入的命令与预设的可执行命令集合中包含的可执行命令不匹配时,执行在所述判断结果为否时所执行的上述操作,直至所述输入的命令与预设的可执行命令集合中包含的可执行命令相匹配时,将所述输入的命令确定为解析出的可执行命令。可选的,本发明实施例提供的该系统还可以进一步包括展示单元,用于将待输入参数值的多条命令展示于命令行中;则命令集合获得单元21具体可以包括参数值获得模块,用于获得用户基于展示于命令行中的多条命令所输入的参数值;命令集合生成模块,用于根据参数值获得模块获得的参数值、展示于命令行中的所述多条命令以及命令分隔符,生成命令集合。可选的,若命令行操作系统在根据命令分隔符,依次解析出命令集合中包含的可执行命令并执行之前,执行的是第一命令模式下的命令;则命令解析与执行单元22具体可以划分为下述子单元,包括可执行命令获得子单元,用于通过对命令集合的解析,获得命令集合包含的可执行命令;可执行命令执行子单元,用于按照依次执行获得的每条可执行命令的方式,执行可执行命令获得子单元获得的每条命令,直至获得的所有可执行命令被执行完毕,并在执行过程中,当所述命令集合中包含的最后一条可执行命令为第二模式跳转命令时,采用下述执行规则,其中,所述第二模式跳转命令所指示跳转到的命令模式不同于所述第一命令模式 命令行操作系统依次执行到获得的可执行命令中包含的、除所述命令集合中包含的最后一条可执行命令的模式跳转命令时,执行下述操作当该模式跳转命令所指示跳转到的命令模式不同于所述第一命令模式时,命令行操作系统从预先设置的虚拟命令行操作系统中,调用用于执行该模式跳转命令所指示跳转到的命令模式下的命令的虚拟命令行操作系统,依次执行位于该模式跳转命令之后的、处于该模式跳转命令所指示跳转到的命令模式下的、连续出现在所述命令集合中的可执行命令;当所述模式跳转命令所指示跳转到的命令模式为所述第一命令模式时,命令行操作系统依次执行位于该模式跳转命令之后的、处于第一命令模式下的、连续出现在所述命令集合中的可执行命令;以及针对所述命令集合中包含的最后一条可执行命令,命令行操作系统跳转到所述第二命令模式跳转命令所指示跳转到的命令模式下;当所述命令集合中包含的最后一条可执行命令不是第二模式跳转命令时,采用下述执行规则命令行操作系统依次执行到获得的可执行命令中包含的、除所述命令集合中包含的最后一条可执行命令的模式跳转命令时,执行下述操作当该模式跳转命令所指示跳转到的命令模式不同于所述第一命令模式时,命令行操作系统从预先设置的虚拟命令行操作系统中,调用用于执行该模式跳转命令所指示跳转到的命令模式下的命令的虚拟命令行操作系统,依次执行位于该模式跳转命令之后的、处于该模式跳转命令所指示跳转到的命令模式下的、连续出现在所述命令集合中的可执行命令;当所述模式跳转命令所指示跳转到的命令模式为所述第一命令模式时,命令行操作系统依次执行位于该模式跳转命令之后的、处于第一命令模式下的、连续出现在所述命令集合中的可执行命令。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种基于命令行的命令执行方法,其特征在于,包括 命令行操作系统获得命令集合,其中,所述命令集合包含至少两条命令和不同命令之间存在的命令行操作系统所能识别的命令分隔符; 命令行操作系统根据所述命令分隔符,依次解析出所述命令集合中包含的可执行命令并执行。
2.如权利要求I所述的方法,其特征在于,命令行操作系统根据所述命令分隔符,依次解析出所述命令集合中包含的可执行命令并执行,具体包括 命令行操作系统从所述命令集合中解析得到第一条可执行命令; 命令行操作系统以所述第一条可执行命令作为最后获取的可执行命令; 针对最后获取的可执行命令,执行下述操作,直至判断出所述命令集合中不存在位于最后获取的可执行命令后的命令分隔符时,按照从所述命令集合中解析出各条解析出的可执行命令的次序,依次执行解析出的各条可执行命令 判断所述命令集合中是否存在位于该最后获取的可执行命令后的命令分隔符; 当判断结果为是时,从所述命令集合中解析出位于紧邻该最后获取的可执行命令的命令分隔符后的可执行命令;并 以位于紧邻该最后获取的可执行命令的命令分隔符后的可执行命令,作为最后获取的可执行命令,并对其执行上述针对最后执行获取的可执行命令所执行的操作。
3.如权利要求2所述的方法,其特征在于,所述第一条可执行命令为按照命令的层次所组织的树形结构的顶层命令模式下的命令。
4.如权利要求I所述的方法,其特征在于,命令行操作系统依次解析出所述命令集合中包含的可执行命令,具体包括 命令行操作系统从所述命令集合依次解析出各条命令,并针对每次解析出的命令,执行 判断解析出的该条命令是否与预设的可执行命令集合中包含的可执行命令相匹配; 在判断结果为是时,将该条命令确定为解析出的可执行命令; 在判断结果为否时,执行操作 输出命令修改提示,并获得用户根据所述命令修改提示所输入的命令;以及在所述输入的命令与预设的可执行命令集合中包含的可执行命令相匹配时,将所述输入的命令确定为解析出的可执行命令;在所述输入的命令与预设的可执行命令集合中包含的可执行命令不匹配时,执行在所述判断结果为否时所执行的上述操作,直至所述输入的命令与预设的可执行命令集合中包含的可执行命令相匹配时,将所述输入的命令确定为解析出的可执行命令。
5.如权利要求I或2所述的方法,其特征在于,还包括 命令行操作系统将待输入参数值的多条命令展示于所述命令行中;则 命令行操作系统获得命令集合,具体包括 命令行操作系统获得用户基于展示于所述命令行中的所述多条命令所输入的参数值; 根据所述参数值、展示于所述命令行中的所述多条命令以及所述命令分隔符,生成所述命令集合。
6.如权利要求I所述的方法,其特征在于,命令行操作系统在根据所述命令分隔符,依次解析出所述命令集合中包含的可执行命令并执行之前,执行的是第一命令模式下的命令;则 命令行操作系统根据所述命令分隔符,依次解析出所述命令集合中包含的可执行命令并执行,具体包括命令行操作系统通过对所述命令集合的解析,获得所述命令集合包含的可执行命令;命令行操作系统按照依次执行获得的每条可执行命令的方式,执行获得的每条命令,直至获得的所有可执行命令被执行完毕,并在执行过程中,当所述命令集合中包含的最后一条可执行命令为第二模式跳转命令时,采用下述执行规则,其中,所述第二模式跳转命令所指示跳转到的命令模式不同于所述第一命令模式 命令行操作系统依次执行到获得的可执行命令中包含的、除所述命令集合中包含的最后一条可执行命令的模式跳转命令时,执行下述操作 当该模式跳转命令所指示跳转到的命令模式不同于所述第一命令模式时,命令行操作系统从预先设置的虚拟命令行操作系统中,调用用于执行该模式跳转命令所指示跳转到的命令模式下的命令的虚拟命令行操作系统,依次执行位于该模式跳转命令之后的、处于该模式跳转命令所指示跳转到的命令模式下的、连续出现在所述命令集合中的可执行命令;当该模式跳转命令所指示跳转到的命令模式为所述第一命令模式时,命令行操作系统依次执行位于该模式跳转命令之后的、处于第一命令模式下的、连续出现在所述命令集合中的可执行命令;以及 针对所述命令集合中包含的最后一条可执行命令,命令行操作系统跳转到所述第二命令模式跳转命令所指示跳转到的命令模式下; 当所述命令集合中包含的最后一条可执行命令不是第二模式跳转命令时,采用下述执行规则 命令行操作系统依次执行到获得的可执行命令中包含的、除所述命令集合中包含的最后一条可执行命令的模式跳转命令时,执行下述操作 当该模式跳转命令所指示跳转到的命令模式不同于所述第一命令模式时,命令行操作系统从预先设置的虚拟命令行操作系统中,调用用于执行该模式跳转命令所指示跳转到的命令模式下的命令的虚拟命令行操作系统,依次执行位于该模式跳转命令之后的、处于该模式跳转命令所指示跳转到的命令模式下的、连续出现在所述命令集合中的可执行命令;当该模式跳转命令所指示跳转到的命令模式为所述第一命令模式时,命令行操作系统依次执行位于该模式跳转命令之后的、处于第一命令模式下的、连续出现在所述命令集合中的可执行命令。
7.一种命令行操作系统,其特征在于,包括 命令集合获得单元,用于获得命令集合,其中,所述命令集合包含至少两条命令和不同命令之间存在的命令行操作系统所能识别的命令分隔符; 命令解析与执行单元,用于根据命令集合获得单元获得的命令集合中包含的所述命令分隔符,依次解析出所述命令集合中包含的可执行命令并执行。
8.如权利要求7所述的系统,其特征在于,所述命令解析与执行单元具体用于 从所述命令集合中解析得到第一条可执行命令,并执行所述第一条可执行命令;在所述第一条可执行命令执行完毕后,以所述第一条可执行命令作为最后执行完毕的命令; 针对最后执行完毕的命令,执行下述操作,直至判断出所述命令集合中不存在位于最后执行完毕的命令后的命令分隔符 判断所述命令集合中是否存在位于该最后执行完毕的命令后的命令分隔符; 当判断结果为是时,从所述命令集合中解析出位于紧邻该最后执行完毕的命令的命令分隔符后的可执行命令;并 在位于紧邻该最后执行完毕的命令的命令分隔符后的可执行命令执行完毕后,以位于紧邻该最后执行完毕的命令的命令分隔符后的可执行命令,作为最后执行完毕的命令,并对其执行上述针对最后执行完毕的命令所执行的操作。
9.如权利要求8所述的系统,其特征在于,所述第一条可执行命令为按照命令的层次所组织的树形结构的顶层命令模式下的命令。
10.如权利要求7所述的系统,其特征在于,所述命令解析与执行单元具体用于 从所述命令集合依次解析出各条命令,并针对每次解析出的命令,执行 判断解析出的该条命令是否与预设的可执行命令集合中包含的可执行命令相匹配; 在判断结果为是时,将该条命令确定为解析出的可执行命令; 在判断结果为否时,执行操作 输出命令修改提示,并获得用户根据所述命令修改提示所输入的命令;以及在所述输入的命令与预设的可执行命令集合中包含的可执行命令相匹配时,将所述输入的命令确定为解析出的可执行命令;在所述输入的命令与预设的可执行命令集合中包含的可执行命令不匹配时,执行在所述判断结果为否时所执行的上述操作,直至所述输入的命令与预设的可执行命令集合中包含的可执行命令相匹配时,将所述输入的命令确定为解析出的可执行命令。
11.如权利要求7或8所述的系统,其特征在于,还包括 展示单元,用于将待输入参数值的多条命令展示于所述命令行中;则 命令集合获得单元具体包括 参数值获得模块,用于获得用户基于展示于所述命令行中的所述多条命令所输入的参数值; 命令集合生成模块,用于根据参数值获得模块获得的参数值、展示于所述命令行中的所述多条命令以及所述命令分隔符,生成所述命令集合。
12.如权利要求7所述的系统,其特征在于,命令行操作系统在根据所述命令分隔符,依次解析出所述命令集合中包含的可执行命令并执行之前,执行的是第一命令模式下的命令;则 命令解析与执行单元具体包括 可执行命令获得子单元,用于通过对所述命令集合的解析,获得所述命令集合包含的可执行命令; 可执行命令执行子单元,用于按照依次执行获得的每条可执行命令的方式,执行可执行命令获得子单元获得的每条命令,直至获得的所有可执行命令被执行完毕,并在执行过程中,当所述命令集合中包含的最后一条可执行命令为第二模式跳转命令时,采用下述执行规则,其中,所述第二模式跳转命令所指示跳转到的命令模式不同于所述第一命令模式 命令行操作系统依次执行到获得的可执行命令中包含的、除所述命令集合中包含的最后一条可执行命令的模式跳转命令时,执行下述操作 当该模式跳转命令所指示跳转到的命令模式不同于所述第一命令模式时,命令行操作系统从预先设置的虚拟命令行操作系统中,调用用于执行该模式跳转命令所指示跳转到的命令模式下的命令的虚拟命令行操作系统,依次执行位于该模式跳转命令之后的、处于该模式跳转命令所指示跳转到的命令模式下的、连续出现在所述命令集合中的可执行命令;当所述模式跳转命令所指示跳转到的命令模式为所述第一命令模式时,命令行操作系统依次执行位于该模式跳转命令之后的、处于第一命令模式下的、连续出现在所述命令集合中的可执行命令;以及 针对所述命令集合中包含的最后一条可执行命令,命令行操作系统跳转到所述第二命令模式跳转命令所指示跳转到的命令模式下; 当所述命令集合中包含的最后一条可执行命令不是第二模式跳转命令时,采用下述执行规则 命令行操作系统依次执行到获得的可执行命令中包含的、除所述命令集合中包含的最后一条可执行命令的模式跳转命令时,执行下述操作 当该模式跳转命令所指示跳转到的命令模式不同于所述第一命令模式时,命令行操作系统从预先设置的虚拟命令行操作系统中,调用用于执行该模式跳转命令所指示跳转到的命令模式下的命令的虚拟命令行操作系统,依次执行位于该模式跳转命令之后的、处于该模式跳转命令所指示跳转到的命令模式下的、连续出现在所述命令集合中的可执行命令;当所述模式跳转命令所指示跳转到的命令模式为所述第一命令模式时,命令行操作系统依次执行位于该模式跳转命令之后的、处于第一命令模式下的、连续出现在所述命令集 合中的可执行命令。
全文摘要
本发明公开了一种基于命令行的命令执行方法及命令行操作系统,用以解决现有技术中的命令行操作系统的命令执行方式存在的会导致命令行操作系统的工作效率低下的问题。方法包括命令行操作系统获得命令集合,其中,所述命令集合包含至少两条命令和不同命令之间存在的命令行操作系统所能识别的命令分隔符;命令行操作系统根据所述命令分隔符,依次解析出所述命令集合中包含的可执行命令并执行。
文档编号G06F9/44GK102880471SQ20121035798
公开日2013年1月16日 申请日期2012年9月24日 优先权日2012年9月24日
发明者刘太强 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1