2013-04-27 104 views
0

請解釋下面的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 

我搜索,找出哪些是使用谷歌命令替換。但是,我沒有得到關於它的確切解釋。

請解釋。

回答

3

%x表示法是執行shell腳本的文字。這裏,字符!用於指示文字的開始和結束。它在shell中運行命令ps -def |grep bash,將結果賦給變量a,並打印出來。

內殼腳本,ps獲取運行的進程,|通過該下一個命令,該命令是grep,其搜索中所示的程序中,串bash

+0

真的很棒,謝謝 – 2013-04-27 07:47:38