Mac Bash Script zum URL Schreiben / entfernen in /etc/hosts sed regex klappt nicht ganz

Hinweis: In dem Thema Mac Bash Script zum URL Schreiben / entfernen in /etc/hosts sed regex klappt nicht ganz gibt es 11 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Du kannst diese ZWEI Befehle natürlich auch in eine Funktion packen.
    Du kannst sie auch auslagern und bei Bedarf erst sourcen.


    Wenn für den Zweck des Befehles ZWEI Kommandos nötig sind,
    warum dann mehr?


    Natürlich kannst du schlechten, weil überflüssigen Code drumrumbasteln.
    Aber mit diesen ZWEI Befehlen ist ALLES erledigt.
    Punkt.
    Ende.
    Erledigt.


    tee hast du auch nicht verstanden. Es dupliziert lediglich den Filedescriptor STDOUT. Damit landet die Ausgabe eines Befehles sowohl auf dem Bildschirm, wie auch in der angegebenen Datei.
    Das hat mit sudo erst mal nichts zu tun.
    Es gibt auch genügend andere Methoden, um das zu erledigen.
    Aber egal. Das ist jedenfalls kein Argument.


    Ganz davon ab: unter openSUSE ist sudo sowieso tabu. openSUSE folgt der reinen Lehre.
    Und danach muss erst die sudoers sauber konfiguriert sein, für exakt definierte Befehle samt Argumenten und Optionen. Es gibt sehr subtile Unterschiede im Envrionment zwischen dem korrekten su -c und dem sudo a la Ubuntu.


    Natürlich müsstest doch das riesige Problem lösen, statt -r -E beim sed Befehl zu ändern.

  • Hab jetzt mal für dich geguckt.


    Die GNU- Tools kannst du auf dem Mac mit brew install coreutils installieren.
    Dabei werden die Tools dann nach /usr/local/bin installiert mit einem Präfix "g" versehen.


    Dann kannst du das GNU- sed mit gsed aufrufen.


    Es gibt noch ein paar Varianten.
    Aber ich finde, du solltest selber laufen lernen.


    Es ist übrigens immer noch egal, ob du die ExtendedRegExes mit -E (wie es GNU- grep auch tut), oder mit -r.
    Hauptsache du schaltest sei ein.
    Macht das Coden leichter.


    Und es ist ebenso egal, ob du zwei sed- Befehle mit zwei -e Ausdrücken schreibst, oder einem -e Ausdruck mit zwei Befehlen durch Semikolon getrennt aufrufst. (Bei GNU- sed kannst du -e auch weglassen, wenn eh nur ein Ausdruck verwendet wird.)
    (Manche Unices verweden übrigens sogar andere Befehlstrenner)