sudo
ist kein für die Sitzung spezifisches Privileg. sudo
ist ein Befehl, der andere Befehle mit erhöhten Berechtigungen ausführt. Also laufen Sie einfach tee
mit sudo
:
2>&1 | sudo tee -a /tmp/Solr_Install.log W
Ich schreibe ein Installationsskript und muss es ausführen, sudo
während ich es auf AWS RedHat-Instanzen teste root
. Ich möchte das Protokoll in eine Datei sowie auf den Bildschirm schreiben. Nichts sollte einfacher sein als das.
Ich kann entweder zur alten Schule gehen >> /tmp/Solr_Install.log 2>&1
und im Hintergrund einen Tail-Prozess starten: tail -f installer.log &
Diese Lösung neigt dazu, die Ausgabe auf dem Bildschirm zu duplizieren oder zu verdreifachen, also entschied ich mich für eine Komplettlösung.
Nutzen Sie einfach die Kraft der Truppe und 2>&1 | tee -a /tmp/Solr_Install.log
mit dieser Lösung verliere ich meine Sudo-Rechte, und das Skript schlägt fehl.
Fragen: Warum zeigt der Schwanz 2-3 Mal dieselbe Linie? (Hat es etwas damit zu tun, dass tail -f
die letzten 10 Zeilen angezeigt werden?)
Kann das irgendwie behoben werden?
Warum verliere ich mein Sudo, wenn ich abschlage?
Kann das vermieden werden?
Gibt es eine andere Möglichkeit, Protokollmaterial gleichzeitig in eine Datei und auf den Bildschirm zu werfen?
sudo
ist kein für die Sitzung spezifisches Privileg. sudo
ist ein Befehl, der andere Befehle mit erhöhten Berechtigungen ausführt. Also laufen Sie einfach tee
mit sudo
:
2>&1 | sudo tee -a /tmp/Solr_Install.log W