RUBY中的命令替换

时间:2013-04-27 07:23:26

标签: ruby

请解释下面的Ruby代码,我无法理解代码。

在command_substitution.rb

a = %x!ps -def |grep bash!
puts a 

输出

1000      3806  3799  0 10:54 pts/0    00:00:00 -bash
1000      4981  4979  0 12:50 pts/0    00:00:00 sh -c ps -def |grep bash
1000      4984  4981  0 12:50 pts/0    00:00:00 grep bash

我搜索了一下使用Google的命令替换是什么。但是,我没有得到关于它的确切解释。

请解释。

1 个答案:

答案 0 :(得分:3)

%x表示法是执行shell脚本的文字。这里,字符!用于表示文字的开头和结尾。它在shell中运行命令ps -def |grep bash,将结果分配给变量a,然后打印它。

在shell脚本中,ps获取正在运行的进程,|将其传递给下一个命令grep,该命令在{0}内搜索字符串bash。显示的过程。