Der Befehl sudo -S -i
liest das Passwort und die Befehle aus der Standardeingabe.
Bei der echo -e "MYPASSWORD\n" | sudo -S -i
Standardeingabe wird aus der Pipe eine neue Zeile zurückgegeben. Anschließend wird das Dateiende nach dem Lesen des Kennworts zurückgegeben: Die restlichen Befehle werden in der normalen Shell ausgeführt.
Es gibt verschiedene Wege: Was am nächsten kommt, ist die Verwendung eines Here-Dokuments : -
sudo -S -i <<EOF MYPASSWORD cd /home/www/argentium.ru git checkout HEAD~3 EOF
Alternativ können Sie alle Befehle zum Eingabestrom hinzufügen: -
echo -e "MYPASSWORD\ncd /home/www/argentium.ru\ngit checkout HEAD~3" | sudo -S -i
Beachten Sie, dass ich dies auf einer normalen bash
Shell getestet habe, da ich kein Setup habe, mit dem ich problemlos testen kann plink
.