我通过shell脚本中的命令行传递Expect中的参数.

我试过了

#!/usr/bin/expect -f
    
set arg1 [lindex $argv 0]
    
spawn lockdis -p
expect "password:" {send "$arg1\r"}
expect "password:" {send "$arg1\r"}
expect "$ "

但它不起作用.我该怎么修?

推荐答案

如果你想阅读论点,你可以通过

set username [lindex $argv 0];
set password [lindex $argv 1];

然后打印出来

send_user "$username $password"

那个脚本会打印出来

$ ./test.exp user1 pass1
user1 pass1

可以使用调试模式

$ ./test.exp -d user1 pass1

Linux相关问答推荐

为什么在Linux上STD::SLEEP_FOR(STD::Chrono::Hors::Max())会立即返回?

如果在两种模式之间找到文本,则使用sed删除它们之间的所有行

std::chrono::time_zone 在不同操作系统上不可用

inotifywait 可以说文件在另一个进程可以访问之前已关闭吗?

如何使用正则表达式在 LINux 中查找具有不同结尾的多个文件?

在 Ansible 中使用 JSON 查询过滤数据以从 ansible_fact 中提取数据

使用 bash 在包含模式的 java 文件中查找行,然后替换该行的另一部分

如何从linux调度程序中屏蔽一个cpu(防止它调度线程到那个cpu上)?

未找到框架.NETFramework,Version=v4.7.1的参考程序集

如何在 Ubuntu 上安装 chkconfig?

来自远程主机的 mysqldump

无法创建Java虚拟机

我可以在 Ubuntu 上使用 Homebrew 吗?

docker images显示图像,docker rmi表示没有这样的图像或参考不存在

命令列出除 . (点)和..(点点)

以原子方式移动目录

Shell 脚本, echo 消息后在同一行读取

Python日志(log)记录 - 判断日志(log)文件的位置?

用curl编译php,curl安装在哪里?

网络共享文件夹上的 GIT 存储库中的并发性