Was bedeutet „-s“ im folgenden Befehl?
ssh [email protected] /bin/bash -s << EOT
(von https://forum.gitlab.com/t/better-way-for-multiline-ssh-command/23420 )
Ich verstehe, dass der Befehl eine SSH-Sitzung öffnet und mit / gefolgt von dem Argument / der Option „-s“.
Ist das richtig?
Außerdem denke ich, dass dort „das folgende Skript ausführen und“ < < EOT „steht Wenn Sie alle folgenden Texte / Zeilen als Skriptcode erhalten, endet dieser mit einem „EOT“.
Wenn die vorherige Interpretation korrekt ist, ist EOT „Ende der Übertragung“ und kann ein beliebiges Wort sein (ist nur eine Bezeichnung)?
Kommentare
- Wenn Sie nach " Bedeutung von " ein Befehl / ein Schalter / etc. Geben Sie eine manuelle Lesung mit dem Befehl
man ...
, der ' in Ihrem Fallman bash
- Entschuldigung, ich habe es getan, war mir aber immer noch nicht klar, und andere Online-Dokumentationen beziehen sich einfach auf " – " oder " -i ", und mit meiner Frage wollte ich ein bisschen mehr wissen. Anfangs dachte ich, -s sei ein Argument für ssh :-()
- Auch diese Informationen waren wichtig Ameise. Teilen Sie uns das nächste Mal einfach mit, damit wir (ich) besser antworten können.
Antwort
Die -s
einer standardkonformen Shell weist die Shell an, Befehle von stdin zu lesen, auch wenn stdin nicht mit einem tty verbunden ist.
In Ihrem Fall ist die here document
, das im Skript folgt, wird als Standard für die Shell verwendet, und diese Eingabe wird als Skript zur Ausführung verwendet.