whitegtr
@whitegtr
Эникей :с

Bash, не правильно отрабатывает скрипт. Что не так?

В следующем вопрос, при запуске в результ отдаёт 0, хотя там не нуль, каким образом сделать так, чтобы он передавал правильные значения из exim -bpc?
#!/bin/bash
exim -bpc
result=$?

if [ $result -gt 50 ]; then

    echo "Before sending:" >f.txt

    echo $result >>f.txt

    exim -qff

    exiqgrep -o 86400 -i | xargs exim -Mrm

    echo "After force sending:" >>f.txt

    exim -bpc >>f.txt

    mail -s "Forced sending" zxczxczxc@gmail.com <./f.txt
    

fi
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
В переменной $? лежит код возврата предыдущей команды. Обычно ноль означает что она завершилась успешно.
Вы же хотите получить данные которые команда вывела в stdout, для этого в bash (и вообще в *sh) есть конструкция $(command).
В вашем случае исправление тривиально:
result=$(exim -bpc)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 07:47
2000 руб./за проект
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект