Как проверить, смонтированы ли два устройства в macOS? - PullRequest
1 голос
/ 06 августа 2020

Я хочу, чтобы два внешних HD синхронизировались, как только они оба будут подключены одновременно.

Я установил LaunchControl, который запускает сценарий bash, как только что-то будет смонтировано. Скрипт должен проверять наличие двух устройств с именами foo и bar и только потом что-то делать.

Вот что у меня есть:

if mount | grep "/Volumes/foo" > /dev/null; then
    echo "One is connected"
fi

Каждая попытка добавить секунду проверка на bar не удалась. Вот что я пробовал:

if mount | [grep "/Volumes/foo" > /dev/null] && [grep "/Volumes/bar" > /dev/null]; then
    echo "Both are connected"
fi

1 Ответ

1 голос
/ 06 августа 2020

В вашем рабочем коде нет [] вокруг вызова grep, почему вы думали, что вам нужно добавить это при выполнении нескольких тестов?

if mount | grep "/Volumes/foo" > /dev/null && mount | grep "/Volumes/bar" > /dev/null; then
    echo "Both are connected"
fi

Вместо перенаправления на /dev/null вы можете использовать опцию -q для grep.

if mount | grep -q "/Volumes/foo" && mount | grep -q "/Volumes/bar"; then
    echo "Both are connected"
fi
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...