GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Sudoedit Vim Force Write (Update) ohne Beenden?

Ich mache einige Skripte mit Vim und habe gerade angefangen, sudoedit zu verwenden .

Problem ist, wenn ich :w Es schreibt in die temporäre Datei, sodass das Skript nicht getestet werden kann, es sei denn, ich beende den Editor.

Wie kann ich eine Aktualisierung des Originals erzwingen, oder übersehe ich den Sinn von sudoedit ?

Akzeptierte Antwort:

sudoedit ermöglicht es Ihnen, eine Datei mit einem Editor zu bearbeiten, der unter Ihrer eigenen Benutzer-ID läuft. Es kopiert die Datei in eine temporäre Datei, in die Ihr Editor dann schreiben kann. Sobald der Editor geschlossen wird, wird die bearbeitete Datei zurückkopiert.

Es gibt keine eingebaute Möglichkeit, Änderungen automatisch zurückzuschreiben, während der Editor noch läuft.

Sie brauchen also entweder

  • Führen Sie den Editor auf der anderen Benutzer-ID aus (z. B. sudo vi /file/to/edit )
  • Kopieren Sie die Datei manuell zurück in eine (separate) Shell (sudo cp /tmp/... /file/to/edit ) oder von innen vim :!sudo cp % /file/to/edit . Von vim aus können Sie auch eine Shell mit :sh starten oder vim mit Strg+Z in den Hintergrund setzen und mit fg wiederherstellen .
  • verwenden Sie https://stackoverflow.com/questions/2600783/how-does-the-vim-write-with-sudo-trick-work
  • erstellen Sie Ihre eigene Version von sudoedit die Änderungen zurückschreibt, sobald die temporären Dateien geändert werden. Dies sollte mit etwas Skripting leicht machbar sein. Inotify kann Ihnen helfen, Änderungen zu erkennen (siehe zum Beispiel Kann ein Bash-Skript mit einer Datei verbunden werden? )

Linux
  1. Verschieben von Dateien unter Linux ohne mv

  2. In .txt-Datei schreiben?

  3. Datei entfernen ohne zu fragen

  4. Wie schreibe ich Dateien auf einen USB-Stick, ohne root zu sein?

  5. Ist das Mounten und Ändern einer Loopback-Datei ohne sudo/root möglich?

So schützen Sie Dateien im Vim-Editor mit einem Passwort

So schützen Sie eine Datei im Vim-Editor mit einem Passwort

Wie beendet man Vim? Mehrere Möglichkeiten zum Beenden des Vim-Editors

So speichern Sie eine Datei in Vi / Vim und beenden den Editor

VIM-Editor

Wie man Dateien mit dem Vim-Editor in Ubuntu mit einem Passwort schützt