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

首頁(yè) > 編程 > Ruby > 正文

Ruby中調(diào)用執(zhí)行shell命令的6種方法

2020-10-29 19:43:55
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

碰到需要調(diào)用操作系統(tǒng)shell命令的時(shí)候,Ruby為我們提供了六種完成任務(wù)的方法:

1.Exec方法:

Kernel#exec方法通過(guò)調(diào)用指定的命令取代當(dāng)前進(jìn)程例子:

復(fù)制代碼 代碼如下:

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

值得注意的是,exec方法用echo命令來(lái)取代了irb進(jìn)程從而退出了irb。主要的缺點(diǎn)是,你無(wú)法從你的ruby腳本里知道這個(gè)命令是成功還是失敗。

2.System方法

Kernel#system方法操作命令同上, 但是它是運(yùn)行一個(gè)子shell來(lái)避免覆蓋當(dāng)前進(jìn)程。如果命令執(zhí)行成功則返回true,否則返回false。

復(fù)制代碼 代碼如下:

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

3.反引號(hào)(Backticks,Esc鍵下面那個(gè)鍵)

復(fù)制代碼 代碼如下:

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

這種方法是最普遍的用法了。它也是運(yùn)行在一個(gè)子shell中。

4.IO#popen

復(fù)制代碼 代碼如下:

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

5.open3#popen3

復(fù)制代碼 代碼如下:

$ 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

復(fù)制代碼 代碼如下:

$ 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

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 三级国产三级在线 | 亚州欧美在线 | 亚洲亚色| 国产一区二区三区在线观看视频 | 日本在线不卡一区二区 | 99亚洲伊人久久精品影院红桃 | 一级做a爱片久久毛片a高清 | 日韩一级电影在线观看 | 成人在线精品视频 | 香蕉国产9| 成人午夜视频网站 | 欧美一级黄色网 | 91中文字幕在线观看 | 成人福利在线 | 国产精品一区二区在线 | 色婷婷tv | a一级黄色毛片 | 麻豆国产网站 | 成人444kkkk在线观看 | 国产精品刺激对白麻豆99 | 久久精品视频3 | 欧美xxxx精品另类 | 黄色片免费看网站 | 一级国产航空美女毛片内谢 | 久久不射电影网 | av一道本| 国产精品久久久久久久久久东京 | 毛片电影在线看 | 成人在线视频免费 | fc2国产成人免费视频 | 亚洲小视频 | 88xx成人永久免费观看 | 亚洲一区在线免费视频 | 亚洲精品有限 | 九九精品在线观看 | 黄色片在线播放 | 久久精品伊人网 | 国产精品99免费视频 | 久草视频在线资源 | 国内精品久久久久久久久久久久 | 激情久久一区二区 |