【发布时间】:2020-01-29 16:32:48
【问题描述】:
好的,我正在尝试使用变量(IP 地址)并使用 SEQ 添加到变量中。例如 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
我让它打印“价值”,但它总是 +1 (198.186.1+1)
【问题讨论】:
-
算术是
$((expression)),而不是$(expression) -
你应该知道,因为你写了
$(seq 1 1 5)来执行一个命令——这显然不是一个算术表达式。 -
这不会打印
$VALUE+$i,它会尝试将该字符串作为命令执行。除非你有一个名为192.168.1+1的脚本,否则它会给你一个command not found错误。