用于在本地化 CLI 中运行命令的 Bash 脚本

用于在本地化 CLI 中运行命令的 Bash 脚本

我正在尝试运行一个命令来访问本地交换机 CLI 并运行一个简单的“显示配置”。该脚本登录,但随后不执行任何操作。我怀疑这是因为一旦登录到子终端,命令就无法解释。有任何想法吗?

$a1 = "show config"

exec cli

sleep 2

exec $a1
exec exit

答案1

之后exec cli,你的shell脚本不会返回运行下一行,sleep 2 确切地说,它不再存在,因为exec用新进程替换了shell进程cli

我怀疑你并不真正想要 的效果exec,应该将其删除。

我不太确定您想做什么,但假设您想show config在 中运行命令cli,请尝试将命令写入其输入:

printf "show config" | cli

对于类似但非常困难的情况,请参阅expect

相关内容