К сожалению, не очень легко. Для восстановления тех файлов Вам будет нужна программа восстановления файла как photorec или в первую очередь.
$? переменная содержит возвращаемое значение последней команды. Вы могли сделать это:
echo "root:passwd" | chpasswd
RET=$?
Или тест непосредственно, например.
echo "root:passwd" | chpasswd
if [ "$?" -ne 0 ]; then
echo "Failed"
fi
Если возвращаемое значение не важно, просто если оно успешно выполняется или нет, можно использовать команду в if
оператор:
if ! echo "root:mypass" | chpasswd; then
# chpasswd failed
fi
Или более короткий:
echo "root:mypass" | chpasswd || cmd_to_run_if_chpasswd_failed
Если я понимаю правильно, что Вы пытаетесь изменить передачу пользователя root, использующего только оператор и нажимающего Enter без большего количества подтверждения процесса.
Я нашел, что Ваш оператор, выполнения правильно, если Вы добавляете "sudo su" префикс.
~$ sudo su
Полагание, что Вы пытаетесь изменить передачу пользователя root, Вы должны для знания то, что является именем пользователя root и быть зарегистрированным правильно. Можно сделать это с sudo su команда.
Затем достаточно с выполнениями следовать замена команды "корень" с текущим корневым именем, и "моя передача" с желаемым паролем для этого пользователя (не забывают обращать внимание для попытки этот метод):
~$ echo "root:mypass" | chpasswd
После того, как можно зондировать ввод команды выхода и войти в команду с помощью нового пароля.