Скрыть вывод из expect

вот часть сценария ожидания

#/usr/bin/expect 

spawn -noecho kwalletcli -f Passwords -e keyofmypassword
expect ".*"
set passwd $expect_out(buffer)

# do some thing
# ...

он читает пароль от kwalletcli и сохраняет в переменной passwd. Поэтому я могу подключиться к серверам с помощью этого passwd.

тем не менее, выход kwalletcli проходит через expect и show на консоли. Как я могу это скрыть?

2 ответов


попробуйте добавить

log_user 0

в свой сценарий. Это должно отключить отображение в stdout.

Если вы хотите включить его снова для части" сделать что-то " программы, повторно включите его

log_user 1

С помощью этой команды:

exec >log 2>&1

вы можете перенаправить вывод в файл или передать его в dev/null