У меня есть cronjob, который выполняет некоторые задачи, и в начале скрипта он выполняет вызов ssh-add (он не запускается как пользователь с соответствующим ключом, поэтому он нуждается в добавлении, и в будущем он вполне может использовать ключ развертывания, определенный в управлении версиями). Это выглядит примерно так:
ssh-agent bash -c "ssh-add /home/tomjn/.ssh/id_rsa; etc... "
Я хочу заставить его замолчать, так как этот cronjob выполняется регулярно, и у меня в почтовом ящике много писем, которые совершенно бесполезны для меня, утверждая, что да, ключ был добавлен. Я хочу получать электронные письма только тогда, когда что-то идет не так, как, например, зависание удаленного соединения git pull и т. Д., Что происходит.
Итак, TLDR, я продолжаю видеть это:
Идентификация добавлена: /home/tomjn/.ssh/id_rsa (/home/tomjn/.ssh/id_rsa)
Как мне заткнуться?
Я пробовал такие вещи, как:
ssh-add /home/tomjn/.ssh/id_rsa > /dev/null
Но безрезультатно. Страница man не указывает на наличие --quiet
параметра. Могу ли я сделать что-то еще, чтобы отключить вывод?
set -eu
нужна проверка работоспособности во время выполнения). Нет никаких намеков на то, что все это важно здесь, так что простого перенаправления stderr должно быть достаточно.OpenSSH_7.6p1
на моем компьютере из homebrew (последний доступный) и этот флаг, кажется, не работает --q
опция доступна в справке, но она не меняет вывод ключа.-q
на Kubuntu 18.04 тоже не работает.