【发布时间】:2016-05-02 10:53:23
【问题描述】:
我有一个 for 循环,它接受一个 CIDR,其中包含文件名的非法字符(“/”)。
该命令的一部分是使用 CIDR 的名称保存输出。
for i in $(more subnets.lst);do shodan download $i-shodan net:$i;done
download 参数后面是 more 命令的结果,即 CIDR (192.168.21.0/24)。
bash 有没有办法在循环运行时重命名变量? 我记得这几年在批处理文件中通过从 str 长度中减去,但这对我没有帮助,因为我只需要用“-”(或任何其他兼容的字符)替换“/”。
【问题讨论】:
-
请注意,您可以为 Shodan 中的“net”过滤器提供多个子网,方法是用逗号分隔它们。比如你可以这样做:net:192.168.21.0/24,172.20.0.0/16,8.8.8.8