BASH - zapis do zmiennej wyniku wywołania komendy

BASH - zapis do zmiennej wyniku wywołania komendy
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam. Dopiero zaczynam z BASHem i mam mały kłopot. Potrzebuje stworzyć prosty skrypt, który sprawdza czy jestem połączony z internetem. Najszybciej co mi przyszło do głowy to wywołanie ping który odbiera pakiety albo nie. Teraz potrzebuje aby skrypt wywołał ping następnie odczytał wartość i za pomocą instrukcji if zrobił coś lub nie. Jedyny problem jaki z tym mam to w jaki sposób mogę zapisać wynik ping który pokazuje się w oknie konsoli do zmiennej aby go później przetwarzać? W żadnym z kursów nie znalazłem niczego co by pozwoliło na zapisanie do zmiennej tego co wyświetla ekran konsoli. Da się to jakoś zrobić?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

$? przechowuje exit code ostatniej komendy. Jeśli wynosi 0 to sie powiodła a jeśli nie, to nie. Puść sobie:

Kopiuj
ping ala.ma.kota -n 1
echo $?
ping 127.0.0.1 -n 1
echo $?
fourfour
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 627
  • Rejestracja: dni
  • Ostatnio: dni
0

Dzięki wielkie za pomoc już wszystko mam :D

  • Rejestracja: dni
  • Ostatnio: dni
0

Odświeżam temat bo to co mi podaliście w zupełności wystarcza ale teraz potrzebuje czegoś jeszcze. Chcę sprawdzić poziom naładowania baterii. Aby sprawdzić wywołuje cat /sys/class/power_supply/BAT0/capacity co daje mi wynik np. 95. W jaki sposób mogę zapisać ten wynik w zmiennej?

Endrju
  • Rejestracja: dni
  • Ostatnio: dni
1

cokolwiek=$(cat /sys/class/power_supply/BAT0/capacity)

Albo lepiej:

cokolwiek=$(</sys/class/power_supply/BAT0/capacity)

I już.

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.