我正在尝试使用执行show命令的bash编写脚本,并从show输出中获取每个主机名(字符串)并对其执行操作(show命令)。
例如:
root@Router2:~$ show routers
Hostname1
Hostname2
Hostname3
我想获取每个主机名(主机名1,主机名2和主机名3)并对每个主机名执行操作。
以下是我的目标:
figlet Status code
u=$(tput smul)
b=$(tput bold)
n=$(tput sgr0)
echo "${b}${u}Enter server's name${n}"
read -e server
echo ""
Routershow$=(show routers)
之后,我想从$ Routershow输出中获取每个字符串(主机名)。我怎么能这样做?
由于
答案 0 :(得分:0)
我通常使用while read x
命令,其中" x"是变量名称:
show routers | while read routerName
do
echo $routerName
done
答案 1 :(得分:0)
对您的命令(显示路由器)产生的所有项目(主机名)使用loop。例如:
for hostname in $(show routers)
do
# access each hostname here. e.g.
echo $hostname
done
或作为脚本的扩展名:
...
Routershow=$(show routers)
for hostname in $(echo $Routershow)
do
# access each hostname here. e.g.
echo $hostname
done