Hvad betyder “-s” i den følgende kommando?
ssh [email protected] /bin/bash -s << EOT
(fra https://forum.gitlab.com/t/better-way-for-multiline-ssh-command/23420 )
Jeg forstår, at kommandoen åbner en SSH-session og udfører /bin/bash
med / efterfulgt af “-s” argumentet / optionen.
Er dette korrekt?
Desuden tror jeg, det står “udfør følgende script, og det” passerer < < EOT “for at sige få al den følgende tekst / linier som scriptkode, slutter den med en “EOT”.
Hvis den tidligere fortolkning er korrekt, er EOT End of Transmission og kan være et hvilket som helst ord (er bare en etiket)?
Kommentarer
Svar
-s
mulighed for en standard kompatibel shell fortæller shell at læse kommandoer fra stdin, selvom stdin ikke er forbundet til en tty.
I dit tilfælde er here document
, der følger i scriptet, bruges som stdin til skallen, og at input bruges som script til at udføre.
man ...
, at ' s i dit tilfældeman bash