bash присваивание переменной вывода с цепочки команд, разделенных "|"

программирование Linux bash

Нужно проверить, запущенна ли программа и, если нет, перезагрузить ее.
Программа при запуске пишет в файл pid процесса.
Я, в скрипте, присваиваю его переменной:
ID_PROCESS=`cat /aaa/service.pid`
Затем мне нужно найти, есть ли этот пид в запущенных процессах. Я разделил это на две операции. Сначала поиск и присваивание значения второй переменной CHECK, а потом их сравнение.
Но тут то и застрял.
Просто команду "ps -A o pid | grep &ID_PROCESS" скрипт выполняет исправно.
А вот при попытке присвоить полученное значение переменной например так:
CHECK=`ps -A o pid | grep $ID_PROCESS`
Сообщает об ошибке:
/aaa/aaa/ddd.sh: CHECK: command not found

Пробовал составить команду из 2х переменных:
COMMAND="ps -A o pid | grep "
CHECK=$COMMAND$ID_PROCESS
echo $CHECK
echo выводит нужную команду но непонятно, как потом ее выполнить и результат засунуть в переменную.

Запутался.
Помогите пожалуйста.

Есть ли еще способы выполнить данную задачу?
Ответы:
Во-первых, обратные кавычки не рекомендуется использовать. Вместо них надо использовать $(команда).
Во-вторых, проверь чтобы перед и после равно не было пробелов. bash на это ругается.
Т.о. правильная команда должна быть такой:
CHECK=$(ps -A o pid | grep "$ID_PROCESS")


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.