当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Kernel.system用法及代码示例


本文简要介绍ruby语言中 Kernel.system 的用法。

用法

system([env,] command... [,options], exception: false) → true, false or nil

在子shell 中执行command…command… 是以下形式之一。

commandline

传递给标准 shell 的命令行字符串

cmdname, arg1, ...

命令名称和一个或多个参数(无 shell )

[cmdname, argv0], arg1, ...

命令名称,argv[0] 和零个或多个参数(无 shell )

如果命令给出零退出状态,系统返回true,非零退出状态返回false。如果命令执行失败,则返回 nil$? 中提供了错误状态。

如果传递了 exception: true 参数,则该方法会引发异常而不是返回 falsenil

参数的处理方式与 Kernel#spawn 相同。

散列参数 env 和 options 与 exec spawn 相同。有关详细信息,请参阅 Kernel#spawn

system("echo *")
system("echo", "*")

产生:

config.h main.rb
*

错误处理:

system("cat nonexistent.txt")
# => false
system("catt nonexistent.txt")
# => nil

system("cat nonexistent.txt", exception: true)
# RuntimeError (Command failed with exit 1: cat)
system("catt nonexistent.txt", exception: true)
# Errno::ENOENT (No such file or directory - catt)

有关标准 shell ,请参见 Kernel#exec

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Kernel.system。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。