Jeśli lubisz czasem tak jak ja tworzyć kod w BASHu to możliwe, że natkniesz się na problem wykonania zdalnej komendy (na przykład na serwerze) i pobrania wyniku tej komendy do lokalnej zmiennej. Mam tu na myśli na przykład skrypt, który sprawdza czy na serwerze w danym katalogu pojawił się jakiś pliczek - z tym zastrzeżeniem, że skrypt ma się wykonywać nie po stronie serwera a hosta, który się do niego łączy.
Kwestie tego jak się logować przez SSH - czy przez zaszycie hasła w skrypcie czy przez wymianę kluczy pozostawiam Tobie i konkretnej implementacji jednak zdecydowanie lepszym pomysłem wydaje się wymiana kluczy. W każdym razie zaszywanie hasła w skrypcie wiąże się z pewnym ryzykiem.
Przejdźmy zatem do meritum. W celu pobrania wyniku zdalnej komendy do lokalnej zmiennej należy użyć podobnej konstrukcji:
Konkretny przykład:
Artykuł udostępniany na licencji CC-BY-SA-3.0
Kwestie tego jak się logować przez SSH - czy przez zaszycie hasła w skrypcie czy przez wymianę kluczy pozostawiam Tobie i konkretnej implementacji jednak zdecydowanie lepszym pomysłem wydaje się wymiana kluczy. W każdym razie zaszywanie hasła w skrypcie wiąże się z pewnym ryzykiem.
Przejdźmy zatem do meritum. W celu pobrania wyniku zdalnej komendy do lokalnej zmiennej należy użyć podobnej konstrukcji:
W podobny sposób można użyć telnetu - jednak w przypadku tego protokołu o bezpieczeństwie możemy pomarzyć.wynik=$(ssh login@host polecenie_zdalne)
Konkretny przykład:
wynik=$(ssh login@host
ls -all|grep szukany_plik.txt)
Artykuł udostępniany na licencji CC-BY-SA-3.0
Komentarze
Prześlij komentarz