@Tablemaker я не пытаюсь захватить выход из $?, просто чтобы показать вам, что его код возврата не равен нулю, на самом деле я, как предполагается, даже не звонят Эхо $? don_crissti @да, спасибо. Я ищу то, что бы сделать один поиск, на вход записи...отредактированы вопрос Чтобы получить ответ, просто задайте себе вопрос: при каких обстоятельствах ты бы обиделся, если профессор будет записывать/снимать вас без вашего ведома? Резюме-отличный пример: вы должны изменить порядок списка авторов, когда там поставили? В противном случае некоторые из вас документов будет порядок, а кто-то нет, что может быть запутанной (для обеих сторон). @MarkMayo несколько лет назад (21-го века, но до введения евро), была огромная разница между Таллин (цены на отели уже были почти на одном уровне с Западной Европой) и Тарту (легко полцены или меньше). Я не знаю, если это изменилось. Я посмотрел его, и это не кажется проблемой. @jbarker2160 пропустил слово "запас" есть. Еще хорошо для других типов ручек.

Вы смешиваете ожидать и bash код. Ваш сценарий-это, главным образом, bash-скрипт, так заменить верхнюю строку на #!/бин/Баш. Затем замените строки:

команду sudo passwd с ${!ТМП}
ожидать -точным "[суда] пароль для $функция current_user: "
отправить "$перевал\Р"
ожидать -точное "новый пароль: "
отправить "$пароль\Р"

при вызове функции mychangepw с аргументы, что ожидать потребностей, т. е. текущего пользователя, пароля sudo, для изменения пользователем, и пароль:

mychangepw $и current_user "$перевал" ${!ТМП} "$пароль"

Добавить функцию в начале скрипта и использовать его для передать аргументы ожидать, с ожидаем скрипт на стандартный ввод до линии "!":

mychangepw(){
 ожидать -д - "$@" <<\!
 набор функция current_user [линдексе $агду 0]
 набор sudopass [линдексе $массива argv 1]
 набор пользователей [линдексе $агду 2]
 Установить пароль [сети Lindex $argv в 3]
 отродясь команду sudo passwd с $пользователей
 ожидать -точно "\[судо\] пароль для $функция current_user: "
 отправить "$sudopass\Р"
 ожидать -точное "новый пароль: "
 отправить "$пароль\Р"
!
}

Будьте осторожны с линии старта "!". Это должен быть первый и единственный чар линии, без отступа, ни дополнительных пробелов, ни комментариев и т. д.