/ bin / bash -s znaczenie (a także < < EOT)

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

  • Gdy pytasz o " znaczenie " polecenie / przełącznik / itp. podaj instrukcję odczytu za pomocą polecenia man ..., które ' s w twoim przypadku man bash
  • Przepraszam, ale nadal nie było to dla mnie jasne, a inna dokumentacja online odnosi się tylko do " – " lub " -i ", a moim pytaniem chciałem wiedzieć trochę więcej. (również początkowo myślałem, że -s jest argumentem za ssh :-()
  • Również ta informacja była importowana Mrówka. Po prostu podziel się z nami następnym razem, abyśmy mogli (a) lepiej odpowiedzieć

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.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *