【发布时间】:2017-03-09 08:59:21
【问题描述】:
我尝试在网上搜索答案,但发现很难通过搜索条件来找到我要查找的内容。对于初学者来说,我完全是编码/脚本的菜鸟。
我得到的是了解如何在脚本中使用 read 函数从用户输入创建变量,这很棒。我的问题是你能运行一个脚本,后面跟着一个表示主机名(目标)设备的关键字。这看起来像这样。
sample.sh 主机名
目前我的理解只允许我在脚本运行后将主机名添加到变量中,但这似乎有点慢。我想要的一个例子是检查网络交换机上的接口状态的通用脚本。最好以一种我可以运行它的方式设置脚本,然后使用主机名来快速检查该单个设备。我想我缺少一些基本的理解。
我希望我能清楚地描述这一点,感谢您提前提供的任何帮助。我在下面有一个示例 bash 脚本和它传递给的期望脚本
#!/bin/bash
echo "What device do you want to check TRUNK links?"
read -e host
echo "Username:"
read -e user
echo "Password:"
read -s -e password
./show-trunk.exp $host $user $password;
#!/usr/bin/expect -f
set host [lindex $argv 0]
set user [lindex $argv 1]
set password [lindex $argv 2]
#spawn echo "Running Script..."
log_user 0
spawn ssh $username@$devices
expect "*assword:"
send "$password\r"
expect "#"
log_user 1
send "show int desc | in TRUNK\r"
expect "#"
send "exit\r"
【问题讨论】: