我正在尝试创建一个使用 Expectk 和 rmt 命令的 tcl 脚本。我可以生成一个 rmt 进程并获得正确的进程 ID,但我使用的发送命令不起作用。我从手册页中注意到,普通的发送命令是为不同的目的而定义的,所以我应该使用 exp_send。
这是脚本。我要做的就是获取磁带驱动器的状态:
#!/bin/sh
# Restarts using wish in the command search path
exec expectk "$0" -- "$@"
set stored_id [spawn "rmt"]
exp_send -i $stored_id "O/dev/nst0\r"
exp_send -i $stored_id "S\r"
编辑:这是您通常从命令行使用命令的方式:
$ rmt
O/dev/nst0
S
A0
^C
“A0”是命令的响应,^C 是我按 Ctrl-C 退出 rmt 命令。