linux - 如何从输出中获取每个字符串(主机名)?

标签 linux bash scripting

我正在尝试使用执行 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 输出中获取每个字符串(主机名)。我该怎么做?

谢谢

最佳答案

我通常使用 while read x 命令,其中“x”是变量名:

show routers | while read routerName
do
    echo $routerName
done

关于linux - 如何从输出中获取每个字符串(主机名)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50676174/

相关文章:

linux - 无法在 shell 脚本中使用 awk 命令进行打印

linux - 微小的 "manually"创建的 ELF 给出了段错误

windows - 每个开发人员都应该知道的 PowerShell 脚本

windows - 合并大量文件,仅包括部分文件名

python - "Real"和非嵌入式使用 Ruby、Python 和他们的 friend

c++ - 在 C++ 中,当我对 -128,127 范围之外的整数值使用 static_cast<char> 时会发生什么?

linux - 使用cgo挂接syscall “fork”

linux - 将我的 bash 脚本变成守护进程的选项

ruby - Linux 上 ruby​​ 脚本中的环境变量

bash - 从名称取自另一个变量的变量中获取内容