首页 > 解决方案 > 尝试使用 seq 添加变量(IP 地址)以按顺序打印变量列表(IP)

问题描述

好的,我正在尝试使用变量(IP 地址)并使用 SEQ 添加到变量中。Ex 198.186.1 和列表 198.186.1、198.186.2 等

VALUE=$1
echo SCAN $VALUE.0/24
for i in $(seq 1 1 5);
do
    echo $($VALUE+$i)
done

我让它打印'VALUE',但它总是+1(198.186.1+1)

标签: linuxshell

解决方案


要计算算术表达式,请使用$(($VALUE+$i)), 和两个括号。$(...)是命令替换,它期望内容是命令(如seq 1 1 5),并用命令的输出替换。

但是你不应该在这里使用算术,因为$VALUE它不是一个数字。您应该只连接变量。

echo $VALUE.$i

推荐阅读