【问题标题】:Bash parameter expansion inside expect期望内部的bash参数扩展
【发布时间】:2021-11-17 22:31:23
【问题描述】:

我正在尝试做的事情:

./script 192.168.1.{1..100}

#!/bin/expect -f

set servers_ip [lindex $argv 0]
set servers_port [lindex $argv 1]

set timeout -1

foreach ip $servers_ip {
        puts "\nIP = $ip"
}

预期输出:

IP = 192.168.1.1
IP = 192.168.1.2
IP = 192.168.1.3

实际输出:

IP=192.168.1.1

我只是无法使参数扩展工作,并且我不能使用外部文件。

【问题讨论】:

    标签: expect


    【解决方案1】:

    您的 shell 启动 expect 之前已经扩展了大括号扩展。 $argv 的前 100 个元素是单独的 IP 地址。

    在这里,你想要

    set servers_ip $argv
    

    那么,对它们进行迭代应该会给你想要的东西

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多