![]() |
1
1424
这一解释是基于一个被评论的例子 Ruby script
首先,请注意,当Ruby调用shell时,它通常会调用
以下是执行shell脚本的方法:
这里有一些额外的建议:
欲了解更多信息,请参阅: |
![]() |
2
361
|
![]() |
3
164
我喜欢这样做的方式是使用
|
![]() |
4
66
|
![]() |
5
44
我最喜欢的是 Open3
|
![]() |
6
30
在选择这些机制时,需要考虑以下几点:
如果子进程执行时间过长,您可能还希望在混合中抛出超时。 不幸的是,这是非常重要的 . |
![]() |
7
27
我肯定不是Ruby专家,但我会尝试一下:
您还应该能够做到以下几点:
|
![]() |
8
26
|
![]() |
9
23
上面的答案已经非常好了,但我真的想分享以下摘要文章: 6 Ways to Run Shell Commands in Ruby "
背景标记(`):
|
![]() |
10
16
如果你真的需要Bash,按照“最佳”答案中的注释。
要测试:
或者,如果您正在运行一个现有的脚本文件,如
应该
为了确保这一点,尽管可能会有轻微的开销
|
![]() |
11
12
您还可以使用backtick运算符(`),类似于Perl:
如果你需要一些简单的东西,这很方便。 你想用哪种方法取决于你想完成什么;有关不同方法的更多详细信息,请查看文档。 |
![]() |
12
11
使用此处的答案和Mihai的答案中的链接,我构建了一个满足以下要求的函数:
另外,如果shell命令成功退出(0)并将任何内容放在STDOUT上,则此命令也将返回STDOUT。在这方面,它不同于
代码如下。具体功能是
|
![]() |
13
11
我们可以通过多种方式实现这一目标。
使用
|
![]() |
14
11
别忘了这道菜
医生说:这种方法类似于
|
![]() |
15
11
例如,最简单的方法是:
|
![]() |
16
8
backticks(`)方法是从Ruby调用shell命令最简单的方法。它返回shell命令的结果:
|
![]() |
17
7
如果你有一个比普通案件更复杂的案件无法处理
您可以使用它来:
Ruby documentation 有足够好的例子:
|
![]() |
18
7
发出这样的命令
我发现,虽然这种方法不像以前那么令人难忘
或
背虱似乎不让我
|
![]() |
19
4
这不是一个真正的答案,但也许有人会发现它很有用: 当在Windows上使用TKGUI时,您需要从rubyw调用shell命令,您总是会有一个恼人的CMD窗口弹出不到一秒钟。
或
两者都将存储
你需要
|
![]() |
20
-1
下面是我在OS X上的ruby脚本中使用的一个很酷的脚本(这样我就可以启动一个脚本并在从窗口切换出去后获得更新):
|
![]() |
cluster1 · 采取独立的新行动的好处是什么? 5 月前 |
![]() |
Robert · 使用JSON或哈希时,将NULL替换为NIL 6 月前 |
![]() |
lucycoco · 如何解决pod安装问题并成功运行pod安装? 9 月前 |
![]() |
Vessel · Ruby-包含任意数量元素的所有排列 10 月前 |