1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Aus Terminal-Befehl .command- Datei machen...

Dieses Thema im Forum "macOS & OS X" wurde erstellt von Kaischo, 16.02.08.

  1. Kaischo

    Kaischo Becks Apfel (Emstaler Champagner)

    Dabei seit:
    06.01.07
    Beiträge:
    338
    Hallo zusammen,

    Ich habe fürs Terminal so einen Befehl mit dem ich eine neue IP bekomme. Das habe ich hiervon (ganz unten)

    http://www.osxserver.ch/forums/showthread.php?s=&threadid=2226

    Nun ich möchte nicht jedesmal das Terminal öffnen um dann den ganzen Befehl einzugeben (also per Apfel+V , klar) naja also ich finde das schon zuviel. DENN es steht auf besagtem Link ganz unten dass man das ja in ne .txt-Datei reinmachen kann und dann diese in .command umbennen kann. Aber wenn ich das mache und die Datei doppel-klicke kommt immer eine Fehlermeldung mit Zugriffsverletzung usw.

    Wie genau mache ich daraus ne .command-Datei, dass ich um ne neue IP zu erlangen nur noch die Datei Doppelklicken muss????

    Gruß, und danke schonmal

    Kaisch0
     
  2. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.898
    1) Mit brauchbarem Shebang in der ersten Zeile beginnen:
    Code:
    #!/bin/sh
    2) Im "nur Text" Format speichern - UTF-8...
    3) ...In einem Editor, der keine Binärmarken dafür setzt.
    (zB ganz simpel in TextEdit)
    4) Suffix .command verwenden
    5) Datei mit "chmod a+x Datei.command" ausführbar machen.
     
  3. Kaischo

    Kaischo Becks Apfel (Emstaler Champagner)

    Dabei seit:
    06.01.07
    Beiträge:
    338
    Mhh....vielen dank für die schnelle Antwort. Leider bin ich mit dem Terminal und alles drum rum nicht vertraut...kannst du mir das nochmal ausführlich und für Dummies erklären ? das wäre echt hammer nett!!!!! Würde mich sehr freuen.

    Kaisch0
     
  4. Rastafari

    Rastafari Golden Noble

    Dabei seit:
    10.03.05
    Beiträge:
    17.898
    Das Terminal brauchst du auch zum Erstellen gar nicht, sondern TextEdit.

    Aber du weisst vermutlich gar nicht, was ein *.command File ist?
    Wenn du sowas doppelklickst, geht ein Terminalfenster auf und das darin enthaltene Skript wird dann darin ausgeführt. (Ein "Skript" kann dabei ein kilometerlanges Programm sein oder auch nur ein einziger simpler Befehl, das ist Geschmackssache.)
    Was du willst, ist wahrscheinlich nur die Ausführung eines simplen Kommandos ohne dass du davon überhaupt irgendwas siehst. (Hm?)

    Dafür gibts eine viel bessere Methode - mit einem "Applescript".
    Dazu machst du den Skripteditor auf (unter /Programme/Applescript/)
    Dort gibst du ein:
    Code:
    try
    do shell script "[COLOR="Green"]Skriptbefehl hier zwischen Gänsefüsschen einfügen[/COLOR]"
    end try
    Falls der Befehl selbst Gänsefüsschen beinhaltet, sind diese dabei durch einen vorangestellten Backslash zu "maskieren". Also beispielsweise für folgendes Kommando:
    Code:
    echo "Text   mit   Quotes" >> "${HOME}/Desktop/Ein Beispiel.txt"
    ...lautet das ganze im Skripteditor:
    Code:
    try
    do shell script " echo \"Text   mit   Quotes\" >> \"${HOME}/Desktop/Ein Beispiel.txt\" "
    end try
    Die "inneren" Anführungszeichen müssen also "versteckt" werden, damit sie nicht als Anfang oder Ende des Befehls falsch verstanden werden. Logisch?

    Dann klickst du auf "Übersetzen" um eine Syntaxprüfung durchzuführen.
    Wenn der Text vom Aufbau her stimmt und die einzelnen Elemente klar in ihrer Bedeutung erfasst werden können, wird das alles schön lesbar eingerückt und hübsch nach Bedeutung eingefärbt.
    Wenn nicht, wird dir gezeigt wo es hakt.

    Wenns passt, speicherst du das ganze als "Programm" oder "Programm-Bundle" irgendwohin - mit einprägsamem Namen. Die Optionen dazu sind irgendwie selbsterklärend.
    Der Doppelklicker ist fertig.

    Wenn es ein Kommando ist, das du normalerweise im Terminal mit erhöhten Rechten starten müsstest (mit einem voran gestellten "sudo" also = "Ausführen als root"), dann kannst du dieses "sudo" hier weglassen. Stattdessen fügst du folgendes an:
    Code:
    try
    do shell script "[I][COLOR="Green"]Mein Befehl[/COLOR][/I]" [COLOR="Blue"]with administrator privileges[/COLOR]
    end try
    Dann poppt bei der Ausführung ein gewohnter Kennwortdialog auf, wie du ihn schon 1001mal gesehen hast.

    Problem?
     
  5. Kaischo

    Kaischo Becks Apfel (Emstaler Champagner)

    Dabei seit:
    06.01.07
    Beiträge:
    338
    Ja hammer. So soll das sein! Hey vielen vielen Dank für deine Zeit, echt genial! Freu mich hammer mäßig :) Danke danke
     

Diese Seite empfehlen