當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。