在Bash中将命令读入数组

时间:2017-06-06 20:55:23

标签: python arrays bash sed scripting

我需要将以下命令输出读入数组,然后在另一个命令中循环遍历该数组。

  1. 文件主机包含2个IP地址:
    • 192.168.3.78
    • 192.168.3.79
  2. 应该读取 sed"的输出:a; N; $!ba; s / \ n / / g" $ hosts 到数组sednames中 sednames =($(sed":a; N; $!ba; s / \ n / / g" $ hosts))

    然后我有另一个循环来读取静态端口(确实有效,因为端口是在脚本中定义的)。我想通过每个端口

    通过此命令运行每个IP

    m应该是IP的数组 我是端口列表(确实有用)

    for m in "$sednames"  
    do  
    echo "m = $m"  
    var=$(python -c "import socket; print(socket.socket(socket.AF_INET, socket.SOCK_STREAM).connect_ex((\"$m\", $i)))")
    

    我遇到的问题是sednames和m似乎只包含第一个 ip,仅此而已。此外,在.78之后的换行符上的python脚本barfs,因此sed命令的原因是消除换行符循环遍历数组中的每个字符串。

0 个答案:

没有答案