Я пытаюсь сделать следующее ..Выполнить команду Linux в рубин
if "ps | grep -e file" then
true;
else
false;
Что мне нужно сделать, чтобы сделать строку п, если заявление выполнить команду Linux в списке?
Я пытаюсь сделать следующее ..Выполнить команду Linux в рубин
if "ps | grep -e file" then
true;
else
false;
Что мне нужно сделать, чтобы сделать строку п, если заявление выполнить команду Linux в списке?
system("command")
Просто используйте. Он вернет true, если команда была успешно выполнена.
EDIT Просто прочитайте свой вопрос еще раз, и я считаю, что то, что вы ищете это:
if `ps | grep -e file`.empty? # no matches
true
else
false
end
Собирался добавить это пустое? звоните, пожалуйста, добавьте окончательный отчет. – igorw
Упс - исправлено это. – goncalossilva
это было предложено здесь уже: Calling shell commands from Ruby
Простой ответ будет
if `ps | grep -e file` then
true
else
false
end
Не надо называть grep
. Просто позвоните ps
и пусть Ruby найдет то, что вы хотите.
if `ps`["file"]
...
else
...
end
Linux пс имеет ключ -c для проверки конкретного названия программы:
if "ps -C file" then
true;
else
false;
однако - если у вас есть конструкция, как
if (predicate) then true; else false;
она должна быть такой же, как
(predicate)
Вы можете управлять своим Ли Nux Команда как этот
`echo "done"`
Это будет печатать done
в качестве вывода.
Возможный дубликат [Calling Bash Commands From Ruby] (http://stackoverflow.com/questions/2232/calling-bash-commands-from-ruby) –