it-swarm.com.de

Wie kann ich Sublime als Standard-Texteditor für Crontab festlegen?

Wie kann ich Sublime als Standard-Texteditor für Crontab festlegen?

Ich schreibe regelmäßig Cronjobs, um crontab -e nicht mit Nano, sondern mit sublime bearbeiten zu können.

Ich habe mit dem Erstellen einer .desktop-Datei für Sublime begonnen.

Ich habe auch versucht, Select-Editor von Terminal zu verwenden, aber es wird nicht Sublime als Option angezeigt.

Ubuntu 15.10

3
Vesa

Die Reihenfolge, in der editor von cron ausgewählt wird, ist wie folgt: Der erste gewinnt:

  • VISUAL Umgebungsvariable
  • EDITOR Umgebungsvariable
  • /usr/bin/editor

Stellen Sie also VISUAL als Pfad des Erhabenen ein, z.

export VISUAL=/usr/bin/subl

Fügen Sie dies zu Ihrem ~/.bashrc für eine dauerhafte Zuordnung hinzu.


Senden Sie VISUAL für nur einen Lauf an die Umgebung von crontab:

VISUAL=/usr/bin/subl crontab -e
3
heemayl

Dies ist wahrscheinlich darauf zurückzuführen, dass das Flag -w/--wait fehlt, wodurch der Befehl (subl) nur beendet wird nachdem Sie die Datei schließen (die temporäre Cron-Datei in dieser Fall). Ohne diesen Befehl glaubt "cron", dass Sie die Bearbeitung sofort beendet haben, wenn der Befehl beendet wird und alle Änderungen in der temporären Datei enden, die für nichts übrig bleibt.

Eine Lösung ist also:

Erstelle eine neue Datei sublime-wait:

#!/bin/sh
subl -w $*

Fügen Sie zu Ihrem ~/.bashrc oder ~/.profile hinzu:

export EDITOR='/path/to/sublime-wait'
0
Thomas Jensen

Das Festlegen des Standardeditors auf eine der oben genannten Arten funktioniert, z. Bearbeiten der .bashrc-Datei, Exportieren der Variablen EDITOR und VISUAL. Aber - zumindest in meiner Umgebung - wartet crontab -e nicht darauf, dass der Editor die aktualisierte Datei schließt und sagt "Keine Änderung vorgenommen". Hinzufügen

export EDITOR="xed -w"
export VISUAL="xed -w"

löst das Problem.

0
Achim