linux - 如何从输出中获取每个字符串(主机名)?
问题描述
我正在尝试使用执行 show 命令的 bash 编写脚本,并从显示输出中获取每个主机名(字符串)并对其执行操作(显示命令)。
例如:
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 输出中获取每个字符串(主机名)。我怎样才能做到这一点?
谢谢
解决方案
我通常使用while read x
“x”是变量名的命令:
show routers | while read routerName
do
echo $routerName
done
推荐阅读
- java - JavaFx tableview RuntimeException
- react-native - React-Native Video 自动播放代码不起作用
- reactjs - 从上下文提供者重定向 React 路由器
- php - 会话变量在 echo 中工作但在 SQL 查询中不工作
- spring - Spring JPA查询多对多
- java - 代码不断输入 if 语句,即使它不正确
- docusignapi - Docusign JWT 服务认证 - 使用我们自己的 RSA 密钥对
- javascript - 如何将数组从 ajax 输出到 ckeditor 插件
- python - 如何使用 conda install 在 python 中安装 boruta
- d3.js - 什么是 D3js 版本支持政策?