Использование команды git с параметром -q, но не остается тихим при неудаче? - PullRequest
0 голосов
/ 27 ноября 2018

Я создаю скрипт, в котором я клонирую репозитории git.Я хочу, чтобы мой сценарий выводил «Клонирование ОК», когда клонирование прошло успешно, и «Клонирование СБОЙ», если оно не удалось, и игнорировать все выходные команды в обоих случаях.Вот код, который я использую:

(git clone -q "$url" && echo "$url: Cloning OK") || echo "$url: Cloning FAILED" >&2

Проблема в том, что для успешного клонирования команда остается тихой, а для неудачного клонирования - нет.Как я могу сделать это тихо в обоих случаях?

вывод команды

Заранее спасибо

1 Ответ

0 голосов
/ 27 ноября 2018

Вы должны заставить команду замолчать, отправив стандартный вывод и стандартную ошибку на где-то, кроме терминала .Это проще всего сделать, отправив оба выходных потока в / dev / null:

(git clone -q "$url" >/dev/null 2>&1 && …

Обратите внимание, что отключение этой команды затруднит отладку сценария.

...