24

这是期望脚本的一部分

#/usr/bin/expect 

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

# do some thing
# ...

它从 kwalletcli 读取密码,并存储在变量中passwd。所以我可以用这个连​​接到服务器passwd

但是,kwalletcli 的输出是通过 expect 并在控制台上显示的。我怎么能隐藏它。

4

3 回答 3

57

尝试添加

log_user 0

到你的脚本。那应该关闭显示到标准输出。

如果您想为程序的“做某事”部分再次打开它,请重新启用它

log_user 1
于 2013-02-01T20:44:03.997 回答
1

使用这个命令:

exec >log 2>&1

您可以将输出转发到文件,也可以将其传递给 dev/null

于 2013-01-30T17:51:49.040 回答
0

与 -stty 和 stty

stty -echo send_user "密码:" expect_user -re "(.*)\n" 设置密码 $expect_out(1,string) stty echo

于 2021-09-02T16:58:36.963 回答