Bash. Pingowanie nie działa

B3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 42
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

Kopiuj
#!/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
WhiteLightning
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3257
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).

B3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 42
0

screenshot-20190311222008.png

hauleth
  • Rejestracja: dni
  • Ostatnio: dni
1

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

  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
#!/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ł).

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.