1

I'm trying to do the following..

   if "ps | grep -e file" then
      true;
   else
      false;

What would I need to do to make the string n the if statement execute the linux command listed?

0

4 Answers 4

7

Simply use system("command"). It'll return true if the command was successfully executed.

EDIT Just read your question again, and I believe that what you're looking for is this:

if `ps | grep -e file`.empty? # no matches
  true
else
  false
end
Sign up to request clarification or add additional context in comments.

1 Comment

Was about to add that empty? call, please add an end statement.
1

Don't have to call grep. Just call ps and let Ruby find the things you want.

if `ps`["file"]
  ...
else
  ...
end

Comments

1

Linux ps has a -C switch to check for a specific program name:

if "ps -C file" then
   true;
else
   false;

however - if you have a construct like

if (predicate) then true; else false; 

it should be the same as

(predicate) 

Comments

0

You can run your Linux Command like this

`echo "done"`

This will print done as output.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.