[+] Polecenie lokalnie dzia

Potrzebujesz pomocy z C, C++, perl, python, itp.
novomix
Posty: 31
Rejestracja: 13 czerwca 2007, 09:42

[+] Polecenie lokalnie działa, przez ssh nie

Post autor: novomix »

Witam.
Mam takie pytanie, nie chce mi działać polecenie przez ssh:

Kod: Zaznacz cały

ssh patrol@debianek "/bin/cat /proc/meminfo | /usr/bin/awk '/SwapFree:/ {print $2/1024}'"
Otrzymuję taki komunikat:

Kod: Zaznacz cały

patrol@debianek's password:
awk: cmd. line:1: /SwapFree:/ {print /1024}
awk: cmd. line:1:                     ^ unterminated regexp
awk: cmd. line:2: (END OF FILE)
awk: cmd. line:2: syntax error
Jak usunę /1024 to przechodzi ale chcę aby działało całe polecenie.
Natomiast jak się zaloguje bezpośrednio na serwer to polecenie wykonuje się bez problemu.

Dziękuję za pomoc.
db
Beginner
Posty: 185
Rejestracja: 25 czerwca 2006, 15:23

Post autor: db »

Kod: Zaznacz cały

ssh patrol@debianek "/usr/bin/awk '/SwapFree:/ {print \$2/1024}' /proc/meminfo"
novomix
Posty: 31
Rejestracja: 13 czerwca 2007, 09:42

Post autor: novomix »

Już to zrobiłem, wystarczyło zrobić tak:

Kod: Zaznacz cały

ssh patrol@debianek "/bin/cat /proc/meminfo" | /bin/awk '/SwapFree:/ {print $2/1024}'
patrol@debianek's password:
16383.8
Pozdrawiam.
db
Beginner
Posty: 185
Rejestracja: 25 czerwca 2006, 15:23

Post autor: db »

Nope.
http://partmaps.org/era/unix/award.html#cat

Zależy, gdzie ten awk ma się wykonać.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Zaraz. Błąd, który zgłaszasz jest wynikiem złej składni. poprzez /1024 otwierasz drugiego regexa. Zatem raczej:

Kod: Zaznacz cały

ssh patrol@debianek "/usr/bin/awk '/SwapFree:/ {print \$2/1024}' /proc/meminfo"

Jeśli chcesz dzielić, wartość pola 2 przez 1024
novomix
Posty: 31
Rejestracja: 13 czerwca 2007, 09:42

Post autor: novomix »

Dzieki za pomoc
ODPOWIEDZ