Jakie jest znaczenie „-s” w poniższym poleceniu?
ssh [email protected] /bin/bash -s << EOT
(z https://forum.gitlab.com/t/better-way-for-multiline-ssh-command/23420 )
Rozumiem, że polecenie otwiera sesję SSH i wykonuje /bin/bash
z / następującą po nim argumentem / opcją „-s”.
Czy to prawda?
Co więcej, wydaje mi się, że jest napisane „wykonaj następujący skrypt i„ przekaż < < EOT „, aby powiedzieć pobierz cały następujący tekst / wiersze jako kod skryptu, zakończy się on „EOT”.
Jeśli poprzednia interpretacja jest poprawna, EOT to koniec transmisji i może to być dowolne słowo (to tylko etykieta)?
Komentarze
Odpowiedź
-s
opcja powłoki zgodnej ze standardem mówi powłoce, aby czytała polecenia ze standardowego wejścia, nawet jeśli stdin nie jest podłączone do terminala.
W twoim przypadku here document
, które następuje w skrypcie, jest używane jako standardowe wejście powłoki, a to wejście jest używane jako skrypt do wykonania.
man ...
, które ' s w twoim przypadkuman bash