问题
Here's part of an expect script
#/usr/bin/expect
spawn -noecho kwalletcli -f Passwords -e keyofmypassword
expect ".*"
set passwd $expect_out(buffer)
# do some thing
# ...
It read password from kwalletcli, and store in variable passwd
. So I can connect to the servers with this passwd
.
However, the output of kwalletcli is pass through expect and show on console. How can I hide that.
回答1:
Try adding
log_user 0
to your script. That should turn off the display to stdout.
If you want to turn it on again for the "do some thing" part of the program, re-enable it
log_user 1
回答2:
using this command:
exec >log 2>&1
you can forward your output to a file or you can pass it to dev/null
来源:https://stackoverflow.com/questions/14601526/hide-output-from-expect