我已经编写了这个代码来ping多个IP地址,但它不起作用。谁能告诉我这里有什么问题?
#!/bin/bash
for i in 'seq 1 20' do
ping -c 1 "10.88.209.$i";
done
ps:它显示的错误是=>
./ping.sh:line 3:意外令牌附近的语法错误ping'
./ping.sh: line 3:
ping -c 1“10.88.209。$ i”;'
答案 0 :(得分:2)
使用:
for i in $(seq 1 20); do
或
for i in {1..20}; do
或
for ((i=0;i<=20;i++)); do
过时:
for i in `seq 1 20`; do
答案 1 :(得分:1)
您的语法已损坏。单引号和反向标记不可互换,并且for循环在do
关键字之前需要分号或换行符。例如:
#!/usr/bin/env bash
for i in `seq 1 20`; do
ping -c 1 "10.88.209.${i}"
done
您可以使用效率更高(也更具惯用性)的Bash brace-expansion sequence,而不是产生 seq 。例如:
#!/usr/bin/env bash
for i in {1..20}; do
ping -c 1 "10.88.209.${i}"
done