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

コマンド置換とは何なのかGoogleで検索してみました。しかし、それについての正確な説明は得られませんでした。

説明してください 。

4

1 に答える 1

3

表記はシェルスクリプトを実行するための%xリテラルです。ここで、文字!はリテラルの開始と終了を示すために使用されます。シェルでコマンドps -def |grep bashを実行し、結果を variable に代入してa出力します。

シェルスクリプト内でps、実行中のプロセスを取得し、|それを次のコマンドに渡します。これは、表示されたプロセス内でgrep文字列を検索します。bash

于 2013-04-27T07:25:51.260 に答える