Как я подавляю предупреждение md5sum FAILED --check, но все равно получаю вывод? - PullRequest
0 голосов
/ 24 октября 2018

Если у меня есть файл с именем file1.Затем я создаю файл md5 для file1, затем меняю содержимое файла file1, поэтому md5 отличается.Когда я провожу контрольную сумму, я получу

/ home / student / .trashCan / file1: FAILED.

Это то, что я хочу, однако я тожеget

md5sum: ПРЕДУПРЕЖДЕНИЕ: 1 вычисленная контрольная сумма НЕ соответствует

Как бы я подавил это предупреждение?Так что я могу получить вывод из:

/ home / student / .trashCan / file1: FAILED

/ home / student / .trashCan / file2: OK

md5sum: ПРЕДУПРЕЖДЕНИЕ: 1 вычисленная контрольная сумма НЕ соответствует

$ student @ osboxes

Для этого:

/ home / student / .trashCan /file1: FAILED

/ home / student / .trashCan / file2: OK

$ student @ osboxes

Если я использую флаг --status, он будетподавить предупреждение, но и вывод.И если я использую grep / awk / cut, я получаю вывод, но я также получаю предупреждение.

1 Ответ

0 голосов
/ 24 октября 2018

Проблема в том, что вывод md5sum состоит из двух частей:

$ md5sum --check test.txt.md5 
test.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match

Первая строка test.txt: FAILED отправляется на стандартный вывод.Однако вторая строка, начинающаяся с md5sum, отправляется на стандартную ошибку .Таким образом, вы можете исправить это, введя команду следующим образом:

$ md5sum --check test.txt.md5 2>/dev/null
test.txt: FAILED

Это работает, потому что вы специально указываете, что нужно отправить stderr на /dev/null.stdout по-прежнему будет отображаться правильно.

...