Bash
1 前言
一个问题,一篇文章,一出故事。
最近在笔者需要一个脚本自动从路由读取一些信息,因此整理本章节。
2 最佳实践
2.1 创建脚本
vim ~/scripts/autocmd.sh
创建如下脚本,
#!/bin/bash
hostName="192.168.77.1"
userName="admin"
passWord="adminpwd"
execCmmand="$1"
if [ -z "$execCmmand" ]; then
echo "Usage: $0 "
exit 1
fi
expect <<-EOF
spawn telnet "${hostName}"
expect "login:"
send "${userName}\r"
expect "Password:"
send "${passWord}\r"
send "$execCmmand\r"
send "exit\r"
expect eof
EOF
另外,你可能还需要安装如下软件包,
apt install -y expect
2.2 部署脚本
cp ~/scripts/autocmd.sh /bin/autocmd chmod +x /bin/autocmd
2.3 测试脚本
autocmd
可见如下输出,
Usage: /usr/bin/autocmd
根据提示,我们需要向脚本传递执行的命令,
autocmd arp
没有评论