麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

如何在Ruby中調用執行shell命令

2020-02-24 15:36:30
字體:
來源:轉載
供稿:網友

在有需求的時候我們經常會在Ruby中執行Shell命令,那么你知道如何在Ruby中調用執行shell命令,下面我們就一起去看看關于Ruby中調用執行shell命令的6種方法吧。

1.Exec方法:

Kernel#exec方法通過調用指定的命令取代當前進程例子:

?

復制代碼 代碼如下:

????? $ irb
????? >> exec 'echo "hello $HOSTNAME"'
???????? hello nate.local
????? $

?

值得注意的是,exec方法用echo命令來取代了irb進程從而退出了irb。主要的缺點是,你無法從你的ruby腳本里知道這個命令是成功還是失敗。

2.System方法

Kernel#system方法操作命令同上, 但是它是運行一個子shell來避免覆蓋當前進程。如果命令執行成功則返回true,否則返回false。

復制代碼 代碼如下:

?$ irb????????????
? >> system 'echo "hello $HOSTNAME"'
? hello nate.local
? => true
? >> system 'false'
? => false
? >> puts $?
? 256
? => nil
? >>

?

3.反引號(Backticks,Esc鍵下面那個鍵)

?

復制代碼 代碼如下:

$ irb
? >> today = `date`
? => "Mon Mar 12 18:15:35 PDT 2007n"
? >> $?
? => #<Process::Status: pid=25827,exited(0)>
? >> $?.to_i
? => 0


這種方法是最普遍的用法了。它也是運行在一個子shell中。

?

4.IO#popen

?

復制代碼 代碼如下:

? $ irb
? >> IO.popen("date") { |f| puts f.gets }
? Mon Mar 12 18:58:56 PDT 2007
? => nil

?

5.open3#popen3

?

復制代碼 代碼如下:

$ irb
? >> stdin, stdout, stderr = Open3.popen3('dc')
? => [#<IO:0x6e5474>, #<IO:0x6e5438>, #<IO:0x6e53d4>]
? >> stdin.puts(5)
? => nil
? >> stdin.puts(10)
? => nil
? >> stdin.puts("+")
? => nil
? >> stdin.puts("p")
? => nil
? >> stdout.gets
? => "15n"

?

6.Open4#popen4

?

復制代碼 代碼如下:

$ irb
? >> require "open4"
? => true
? >> pid, stdin, stdout, stderr = Open4::popen4 "false"
? => [26327, #<IO:0x6dff24>, #<IO:0x6dfee8>, #<IO:0x6dfe84>]
? >> $?
? => nil
? >> pid
? => 26327
? >> ignored, status = Process::waitpid2 pid
? => [26327, #<Process::Status: pid=26327,exited(1)>]
? >> status.to_i
? => 256

這篇文章主要介紹了如何在Ruby中調用執行shell命令的內容,小編列出了Ruby中可以調用和執行Linux系統Shell命令的6個方法,希望能給大家帶來幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 91成人免费电影 | 国产精品性夜天天视频 | 把娇妻调教成暴露狂 | 欧美性生活视频免费 | 羞羞色网站 | 欧美成人一区免费视频 | 欧美激情 在线播放 | av在线浏览 | 777zyz色资源站在线观看 | 日本看片一区二区三区高清 | 日本一级黄色大片 | 色诱亚洲精品久久久久久 | 黄视频网站免费在线观看 | 永久av在线免费观看 | 国产女厕一区二区三区在线视 | 海角在线观看91一区二区 | 欧美另类69xxxxx 视频 | 国产精品免费久久久久久 | 免费h片网站 | 爱操在线 | 国产在线播放一区二区 | 色女人在线 | 免费观看视频在线 | 日本不卡一区二区三区在线 | 久久综合艹 | 91成人免费网站 | 麻豆国产一区 | www.三区 | 看免费5xxaaa毛片 | 蜜桃视频在线观看免费 | 色女人在线 | 国产精品久久久久一区二区 | 国产69久久久 | 中文字幕综合 | h视频免费观看 | 久久久久久久.comav | 女人裸体让男人桶全过程 | 欧美日韩中文字幕在线视频 | 青青草成人免费视频在线 | 日本在线一区二区 | 国产一级免费电影 |