0

请解释下面的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

我用谷歌搜索找出什么是命令替换。但是,我没有得到确切的解释。

请解释 。

4

1 回答 1

3

%x符号是用于执行 shell 脚本的文字。在这里,字符!用于指示文字的开始和结束。它在 shell 中运行命令ps -def |grep bash,将结果分配给 variablea并打印它。

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

于 2013-04-27T07:25:51.260 回答