Возвращаемое значение команд при использовании stdin?

К сожалению, не очень легко. Для восстановления тех файлов Вам будет нужна программа восстановления файла как photorec или в первую очередь.

2
03.09.2012, 01:41
3 ответа

$? переменная содержит возвращаемое значение последней команды. Вы могли сделать это:

echo "root:passwd" | chpasswd
RET=$?

Или тест непосредственно, например.

echo "root:passwd" | chpasswd
if [ "$?" -ne 0 ]; then
  echo "Failed"
fi
7
27.01.2020, 21:50
  • 1
    Спасибо, это, кажется, работает! Все еще задаваясь вопросом, если существует некоторый kidn "прямого пути" как в моем примере выше? –  stefan.at.wpf 02.09.2012, 23:29
  • 2
    Нет, но можно ли протестировать на $? сразу впоследствии не храня его в другой переменной, если Вы не должны сохранять его. Конечно, при выполнении какой-либо другой команды, она обновит $? с его собственным результатом. –  teppic 02.09.2012, 23:32

Если возвращаемое значение не важно, просто если оно успешно выполняется или нет, можно использовать команду в if оператор:

if ! echo "root:mypass" | chpasswd; then
  # chpasswd failed
fi

Или более короткий:

echo "root:mypass" | chpasswd || cmd_to_run_if_chpasswd_failed
3
27.01.2020, 21:50

Если я понимаю правильно, что Вы пытаетесь изменить передачу пользователя root, использующего только оператор и нажимающего Enter без большего количества подтверждения процесса.

Я нашел, что Ваш оператор, выполнения правильно, если Вы добавляете "sudo su" префикс.

~$ sudo su

Полагание, что Вы пытаетесь изменить передачу пользователя root, Вы должны для знания то, что является именем пользователя root и быть зарегистрированным правильно. Можно сделать это с sudo su команда.

Затем достаточно с выполнениями следовать замена команды "корень" с текущим корневым именем, и "моя передача" с желаемым паролем для этого пользователя (не забывают обращать внимание для попытки этот метод):

~$ echo "root:mypass" | chpasswd

После того, как можно зондировать ввод команды выхода и войти в команду с помощью нового пароля.

0
27.01.2020, 21:50
  • 1
    Вы не отвечаете на вопрос OP, он искал способ получить код возврата для этой команды. –  Stéphane Gimenez 17.09.2012, 22:04

Теги

Похожие вопросы