Bash. Pingowanie nie działa

0

Skrypt ma tylko pingowac po razie każdy host 1-254 po wpisaniu np ./pingscript.sh 192.168.100. oczywiscie pingscript.sh to nazwa.

ale gdy tak wpisuje uzyskuje odpowiedź: ping: 192.168.100.seq: Ta nazwa lub usługa jest nieznana

#!/bin/bash
if [ "$1" == ""  ]
then
echo "Usage: ./pingscript.sh [network]"
echo "example: ./pingscript.sh 192.168.100"
else
for x in 'seq 1 254'; do
ping -c 1 $1.$x
done
fi
0

Na pewno masz blad w linijce z forem bo za x podstawiasz stringa.

seq sie jakos tak uzywa: for i in $(seq 1 2 20) (nie mam teraz Linuxa pod reka by sprawdzic).

0

screenshot-20190311222008.png

1

@Banq324: sprawdź dokładnie, bo widzę, że używasz złych znaków, ' to nie to samo co `

0
#!/usr/bin/env bash

if (( $# != 1 )); then
    echo "usage: $0 <network>"
    echo "example: $0 192.168.100"
    exit 2
fi >&2

for i in {1..254}; do
    ping -c 1 "$1.$i"
done

To nie koniec Twoich problemów. Gdy będziesz w pętli, spróbuj przerwać program kombinacją ctrl-c (ping połknie sygnał).

1 użytkowników online, w tym zalogowanych: 0, gości: 1