请解释下面的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的命令替换是什么。但是,我没有得到关于它的确切解释。
请解释。
答案 0 :(得分:3)
%x
表示法是执行shell脚本的文字。这里,字符!
用于表示文字的开头和结尾。它在shell中运行命令ps -def |grep bash
,将结果分配给变量a
,然后打印它。
在shell脚本中,ps
获取正在运行的进程,|
将其传递给下一个命令grep
,该命令在{0}内搜索字符串bash
。显示的过程。