我正在尝试运行一个命令来访问本地交换机 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