Bash тестовое значение последней функции равно нулю - PullRequest
0 голосов
/ 18 февраля 2020

Используя blueutil, чтобы попытаться подключить или отключить мои наушники, при тестировании с использованием --is-connected он возвращает либо 0, либо 1. Я хочу использовать это для подключения или отключения наушников, но я продолжаю получать Ошибка «0: команда не найдена».

blueutil --is-connected ac-90-85-3e-0d-04
if $? -eq 0
  then
    blueutil --connect ac-90-85-3e-0d-04
  else
    blueutil --disconnect ac-90-85-3e-0d-04
fi

1 Ответ

4 голосов
/ 18 февраля 2020

Оболочка не выполняет сравнения сама по себе; это задача команды test:

if test $? -eq 0

, хотя все, что делает if, это просматривает состояние выхода из своего списка условий; Вы можете позвонить blueutil прямо из этого списка.

if blueutil --is-connected ac-90-85-3e-0d-04
  then
    blueutil --connect ac-90-85-3e-0d-04
  else
    blueutil --disconnect ac-90-85-3e-0d-04
fi
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...