как гласит заголовок, я пытаюсь получить вывод при запуске passwd, чтобы убедиться, что пароль был изменен правильно, и остановив passwd от вывода всего на терминал.
Некоторое предыстория, я пытаюсь написать скрипт, который будет проходить через список серверов по SSH, менять пароль и перечислять, был ли он успешным или нет.Я не пытаюсь заставить его вернуть информацию исходному хосту, на котором выполняется скрипт.Я осознаю, что способ, которым я делаю это, не является хорошей практикой для безопасности, но серверы находятся в закрытой сети, и печать их на стандартный вывод и использование его в стандартном вводе не составляет большого труда, пока я очищаю историю.
Ниже приведен код, который я пробовал.Я также пытаюсь остановить показ passwd текста.Цвет слова «успешно» не меняется
echo -e 'Test1\nTest1' | passwd TestUSR | grep --color 'successfully' > /dev/null 2&1
В приведенном ниже примере показан результат 0, поэтому он не получает успешно печатается
echo -e 'Test1\nTest1' | passwd TestUSR | grep -oc 'successfully'
У меня естьпопытался передать информацию в тестовый файл для последующего извлечения, и файл остался пустым.Результат приведенного ниже кода равен 0, поэтому grep получает информацию.
echo -e 'Test1\nTest1' | passwd TestUSR > test.txt; grep -oc 'successfully' test.txt
Буду признателен за любую помощь, потому что я не могу понять, как остановить показ текста на экране ниже, а затем прочитать его, чтобы отобразить более простое сообщение для пользователя.И да, они все отображаются на одной строке в терминале (протестировано на Ubuntu 18.4 и Parrot OS)
Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully