Vad betyder ”-s” i följande kommando?
ssh [email protected] /bin/bash -s << EOT
(från https://forum.gitlab.com/t/better-way-for-multiline-ssh-command/23420 )
Jag förstår att kommandot öppnar en SSH-session och kör /bin/bash
med / följt av ”-s” argument / alternativ.
Är detta korrekt?
Dessutom tror jag att det står ”kör följande skript och det” skickar < < EOT ”för att säga få all följande text / rader som skriptkod, det kommer att sluta med en ”EOT”.
Om den tidigare tolkningen är korrekt är EOT End of Transmission och kan vara vilket ord som helst (är bara en etikett)?
Kommentarer
Svar
-s
alternativet för ett standardkompatibelt skal ber skalet att läsa kommandon från stdin även om stdin inte är ansluten till en tty.
I ditt fall är here document
som följer i skriptet används som stdin för skalet och att ingången används som skript för att utföra.
man ...
, att ' s i ditt fallman bash