• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Das Monatsmotto Juli lautet -- Kitsch as Kitsch can -- Jeder von Euch kann dafür ganz individuell bestimmen, was für ihn Kitsch ist und ein Foto davon einsenden. Macht mit, traut Euch! --> Klick

Bash Datei mit Automator ausführen lassen

TheSilver

Boskoop
Registriert
31.01.09
Beiträge
40
<div class="bbWrapper">Hallo Liebes Forum,<br /> <br /> ich habe ein, ich schätze mal, eigentlich sehr einfaches problem... leider habe ich noch trotz go...le noch keine Lösung gefunden <img class="smilie smilie--emoji" loading="lazy" alt="🤨" title="Gesicht mit hochgezogener Augenbraue :face_with_raised_eyebrow:" src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f928.png" data-shortname=":face_with_raised_eyebrow:" /><br /> <br /> ich habe eine kleine bash Datei (von-sh) geschrieben, die ein Splittunneling macht wenn ich über VPN mit der Firma verbunden bin, so dass I-net etc nicht über die Firma läuft..<br /> <br /> <span style="color: rgb(41, 105, 176)">#!/bin/bash<br /> <br /> sudo route -nv add -net 10 -interface utun5<br /> sudo route change default 192.168.125.1</span><br /> <br /> <span style="color: #000000">führe ich die Datei über das Terminal aus, muss ich noch das Passwort angeben und es funktioniert soweit.<br /> <br /> nun möchte ich die Datei automatisch über den Automator ausführen lassen wenn ich mit dem VPN verbunden bin...<br /> hier komme ich leider schon beim Ausführen der Datei an meine Grenzen.. <img class="smilie smilie--emoji" loading="lazy" alt="😕" title="Verwundertes Gesicht :confused:" src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f615.png" data-shortname=":confused:" /></span><br /> <br /> Im Automator habe ich nun ein &quot;Shell-Skript ausführen&quot; angelegt und dachte nach diversen Suchen es würde mit folgendem Befehl funktionieren:<br /> <br /> <span style="color: rgb(65, 168, 95)">osascript - e 'do shell script &quot;/documents//vpn.sh&quot; with administrator privileges'</span><br /> <br /> <span style="color: #41a85f"><span style="color: rgb(0, 0, 0)">Klicke ich im Automator auf Ausführen, dann steht unten &quot;Arbeitsablauf abgeschlossen&quot;... ohne Fehler, aber wirklich ausgeführt hat er irgendwie nichts.</span></span><br /> <br /> <span style="color: #000000">Könnt ihr mir sagen wo mein Fehler liegt? Gerne auch wie das ganze eleganter geht, ist mein erster mal das ich was mit Skripten und Automator auf dem Mac mache...</span><br /> <br /> <br /> Gruß<br /> Marco</div>
 

m4371n

Querina
Registriert
27.12.20
Beiträge
181
<div class="bbWrapper">Liegt den Script wirklich in &quot;/documents/vpn.sh&quot;?<br /> <br /> Normalerweise ist dein Documents Ordner ein Unterordner von deinem Benutzerordner.<br /> <br /> Und was willst Du mir dem Umweg über Automator eigentlich erreichen?</div>
 

TheSilver

Boskoop
Registriert
31.01.09
Beiträge
40
<div class="bbWrapper">hmm... das kommt jetzt wohl darauf an ob der Pfad vom root aus ausgehend sein muss, oder vom Benutzer...<br /> wenn ich mein Terminal öffne, kann ich von dort aus die Datei öffnen, daher bin ich auf die Pfadangabe gekommen...<br /> Sollte der Automator da nicht eine Fehlermeldung bringen wenn er die Datei nicht findet oder traue ich dem zu viel zu?<br /> <br /> Also erreichen möchte ich dass die Datei bzw. die zwei route Kommandos ausgeführt werden wenn ich mit dem VPN verbunden bin...<br /> <br /> Dachte mir da ist der Automator wohl das einfachste?</div>
 

m4371n

Querina
Registriert
27.12.20
Beiträge
181
<div class="bbWrapper">Wenn du einen Pfad mit / anfängst, ist er absolut, fängt also im root an. Und wenn du dein Script eh aus dem Terminal aufrufen willst, könntest du das auch direkt mit <br /> <br /> sudo &lt;pfad zu deinem script&gt;<br /> <br /> machen und im Script sudo weglassen.</div>
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.364
<div class="bbWrapper">Hallo,<br /> <br /> du machst es komplizierter als nötig <img src="/community/styles/apfeltalk/smilies/SmilingCheeks.png" class="smilie" loading="lazy" alt=":)" title="Smile :)" data-shortname=":)" /><br /> <br /> Die Automator Aktion &quot;AppleScript ausführen&quot; macht den Umweg über osascript unnötig.<br /> Und mit &quot;do shell script&quot; lässt sich dein Skript auch direkt ausführen ...<br /> <br /> Aktion AppleScript ausführen<br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Code: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang=""><code>do shell script &quot;sudo route -nv add -net 10 -interface utun5 sudo route change default 192.168.125.1&quot; with administrator privileges</code></pre> </div> </div><br /> Als Programm speichern.<br /> <br /> Wenn dir das nicht zu unsicher ist, könntest du auch das Passwort im Klartext ins Skript schreiben.<br /> Naja, wir hatten hier mal einen Thread, wo es um Strategien ging, den Klartext zu vermeiden:<br /> <div><a href="https://www.apfeltalk.de/community/threads/script-zum-synchronisieren-mit-dem-zeitserver.547886/#post-5439386" target="_blank" class="link link--external" rel="nofollow ugc noopener">https://www.apfeltalk.de/community/...ieren-mit-dem-zeitserver.547886/#post-5439386</a></div><br /> Gruß</div>
 
Zuletzt bearbeitet:
  • Like
Reaktionen: trexx

TheSilver

Boskoop
Registriert
31.01.09
Beiträge
40
<div class="bbWrapper">Guten Morgen,<br /> <br /> also ich glaub ich bin zu unfähig <img class="smilie smilie--emoji" loading="lazy" alt="😔" title="Nachdenkliches Gesicht :pensive:" src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f614.png" data-shortname=":pensive:" /><br /> <br /> <a href="https://test.apfeltalk.de/community/members/62812/" class="username" data-xf-init="member-tooltip" data-user-id="62812" data-username="@sedna">@sedna</a> : wenn ich die Befehle direkt im automator schreibe wie du das vorgeschlagen hast, dann bekomme ich eine Meldung<br /> <a href="https://test.apfeltalk.de/community/attachments/bildschirmfoto-2021-03-07-um-08-41-35-png.173913/" target="_blank"><img src="https://www.apfeltalk.de/community/data/attachments/139/139264-b3f8eb48d125e053a0857ecec16087da.jpg" class="bbImage " style="" alt="Bildschirmfoto 2021-03-07 um 08.41.35.png" title="Bildschirmfoto 2021-03-07 um 08.41.35.png" width="250" height="159" loading="lazy" /></a><br /> <br /> Mal eine grundsätzliche Verständnisfrage:<br /> <br /> wenn ich den Code im Automator über den &quot;Play&quot;-Button rechts oben ausführe, sollte dann die Aktion wirklich ausgeführt worden sein, oder macht der Automator da nur einen Testlauf?<br /> Denn dann hätte doch der Weg über das osaskript ja funktionieren müssen, oder?<br /> <br /> <a href="https://test.apfeltalk.de/community/attachments/bildschirmfoto-2021-03-07-um-08-40-51-png.173914/" target="_blank"><img src="https://www.apfeltalk.de/community/data/attachments/139/139265-f91f75971021703edd416d6724805538.jpg" class="bbImage " style="" alt="Bildschirmfoto 2021-03-07 um 08.40.51.png" title="Bildschirmfoto 2021-03-07 um 08.40.51.png" width="250" height="95" loading="lazy" /></a><br /> <br /> Wenn ich das direkt über 'do Shell Skript' machen kann wär das für mich ja super, aber irgendwie mag das nicht <img class="smilie smilie--emoji" loading="lazy" alt="😟" title="Besorgtes Gesicht :worried:" src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f61f.png" data-shortname=":worried:" /><br /> <br /> was meinst du eigentlich mit &quot;als Programm speichern&quot;?<br /> <br /> Leider war ich noch nicht soweit dass ich aus dem Automator rausgekommen bin... <br /> Wenn ich auf sichern drücke, und die Automator-Datei anklicke öffnet sich aber wieder der Automator <img class="smilie smilie--emoji" loading="lazy" alt="🧐" title="Gesicht mit Monokel :face_with_monocle:" src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f9d0.png" data-shortname=":face_with_monocle:" /><br /> Aber beinen Punkt der &quot;als Programm speichern&quot; heisst habe ich noch nirgends gesehen...</div>
 

m4371n

Querina
Registriert
27.12.20
Beiträge
181
<div class="bbWrapper">Ich kenne keine in macOS eingebaute Möglichkeit, beim Aufbau eines VPN automatisch einen Automator Workflow oder ein Shellscript ausführen zu lassen, es sei denn, der VPN-Client, den du benutzt, unterstützt das.<br /> <br /> Sollte dein VPN-Client aber über Automator oder einen Shell-Befehl steuerbar sein, könntest du es so herum versuchen, also z.B. ein Automator-Programm oder Shellscript bauen, was das VPN aufbaut und deine Routen setzt.</div>
 
  • Like
Reaktionen: dg2rbf

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.364
<div class="bbWrapper">Hallo,<br /> <br /> <br /> <blockquote data-attributes="member: 72014" data-quote="TheSilver" data-source="post: 5582701" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/community/goto/post?id=5582701" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-5582701">TheSilver schrieb:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> wenn ich die Befehle direkt im automator schreibe wie du das vorgeschlagen hast […] </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Zum Vergrößern anklicken....</a></div> </div> </blockquote>Ich schlug vor, die Aktion &quot;AppleScript ausführen&quot; zu nehmen <img src="/community/styles/apfeltalk/smilies/Wink.png" class="smilie" loading="lazy" alt=";)" title="Wink ;)" data-shortname=";)" /><br /> <br /> <br /> <blockquote data-attributes="member: 72014" data-quote="TheSilver" data-source="post: 5582701" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/community/goto/post?id=5582701" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-5582701">TheSilver schrieb:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> wenn ich den Code im Automator über den &quot;Play&quot;-Button rechts oben ausführe, sollte dann die Aktion wirklich ausgeführt worden sein, oder macht der Automator da nur einen Testlauf?<br /> Denn dann hätte doch der Weg über das osaskript ja funktionieren müssen, oder? </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Zum Vergrößern anklicken....</a></div> </div> </blockquote>Ein Arbeitsablauf wird ausgeführt, wenn du ihn ausführst <img src="/community/styles/apfeltalk/smilies/Tongue Winking Eye.png" class="smilie" loading="lazy" alt=":p" title="Stick Out Tongue :p" data-shortname=":p" /><br /> Und nein, das hätte nicht funktionieren müssen, es dir zu erklären, würde hier zu weit führen.<br /> (Du kannst deinen osascript Befehl ja alternativ mal testweise im Terminal ausführen)<br /> <br /> Hier liegt -hüstel- quasi der Hase im Pfeffer:<br /> Du hast ja schon meine Antwort nicht richtig gelesen.<br /> Dann hast du -was gar nicht schlimm ist - eigentlich gar kein Hintergrundwissen zu diesem Thema.<br /> <br /> Zumindest für den Automator kann man sich eine Grundidee, wie er funktioniert, allerdings in wenigen Minuten aneignen: öffne die gut geschriebene Hilfe im Automator und du gelangst zum Benutzerhandbuch.<br /> <br /> <blockquote data-attributes="member: 72014" data-quote="TheSilver" data-source="post: 5582701" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch"> <div class="bbCodeBlock-title"> <a href="/community/goto/post?id=5582701" class="bbCodeBlock-sourceJump" rel="nofollow" data-xf-click="attribution" data-content-selector="#post-5582701">TheSilver schrieb:</a> </div> <div class="bbCodeBlock-content"> <div class="bbCodeBlock-expandContent js-expandContent "> was meinst du eigentlich mit &quot;als Programm speichern&quot;?<br /> <br /> Leider war ich noch nicht soweit dass ich aus dem Automator rausgekommen bin...<br /> Wenn ich auf sichern drücke, und die Automator-Datei anklicke öffnet sich aber wieder der Automator <img class="smilie smilie--emoji" loading="lazy" alt="🧐" title="Gesicht mit Monokel :face_with_monocle:" src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f9d0.png" data-shortname=":face_with_monocle:" /><br /> Aber beinen Punkt der &quot;als Programm speichern&quot; heisst habe ich noch nirgends gesehen... </div> <div class="bbCodeBlock-expandLink js-expandLink"><a role="button" tabindex="0">Zum Vergrößern anklicken....</a></div> </div> </blockquote>Oh, dann scheinst du eine elementare Sache in macOS noch gar nicht zu kennen:<br /> Drücke beim Aufruf eines Menüs die Wahltaste (&quot;alt&quot;), um alternative Menüpunkte angezeigt zu bekommen!<br /> Z.B. Automator -&gt; Ablage: aus Sichern… wird dann Sichern unter… , wo man den Workflow als Programm speichern kann<br /> <br /> Gruß</div>
 

TheSilver

Boskoop
Registriert
31.01.09
Beiträge
40
<div class="bbWrapper">Hallo,<br /> <br /> <a href="https://test.apfeltalk.de/community/members/244240/" class="username" data-xf-init="member-tooltip" data-user-id="244240" data-username="@m4371n">@m4371n</a> : ich verwende den in OS X integrierten VPN... wie ich anfangs bereits angedeutet habe wäre es meine Vorstellung gewesen dass ich die Aktion vom Automator bei aktiven VPN automatisch ausführen lasse, bzw. lassen kann... da es das erste mal ist dass ich mich mit dem Thema überhaupt beschäftige, kann es natürlich sein dass mein Wunschdenken hier nicht erfüllt wird <img class="smilie smilie--emoji" loading="lazy" alt="😅" title="Grinsendes Gesicht mit Schweißtropfen :sweat_smile:" src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f605.png" data-shortname=":sweat_smile:" /><br /> Hatte gehofft man kann auslesen ob das VPN Interface aktiv ist, und dann den Ablauf starten... aber muss(te) ja erst mal schaffen die Routen über den Automator zu setzten..<br /> <br /> <a href="https://test.apfeltalk.de/community/members/62812/" class="username" data-xf-init="member-tooltip" data-user-id="62812" data-username="@sedna">@sedna</a> : Da hast du recht, das habe ich tatsächlich und offensichtlich nicht gelesen dass da &quot;Apple Skript&quot; steht <img class="smilie smilie--emoji" loading="lazy" alt="😅" title="Grinsendes Gesicht mit Schweißtropfen :sweat_smile:" src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f605.png" data-shortname=":sweat_smile:" /><img class="smilie smilie--emoji" loading="lazy" alt="🙈" title="Nichts-Sehen-Affe :see_no_evil:" src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f648.png" data-shortname=":see_no_evil:" /> <br /> <br /> ... und kaum mach ich es richtig klappt's auch <img class="smilie smilie--emoji" loading="lazy" alt="😁" title="Strahlendes Gesicht mit lachenden Augen :grin:" src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f601.png" data-shortname=":grin:" /><br /> Muss zugeben dass ich das Benutzerhandbuch irgendwie immer vergesse, aber danke dass du mich daran erinnerst <img class="smilie smilie--emoji" loading="lazy" alt="🙃" title="Umgedrehtes Gesicht :upside_down:" src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f643.png" data-shortname=":upside_down:" /> werd ich mir mal etwas durchlesen.<br /> <br /> Ok, ich kenne diese Funktion, aber ganz verstanden habe ich sie noch nie, also warum man solche Sachen dann Immer &quot;verstecken&quot; muss...<br /> Und da ich sie sehr selten brauche, hab ich die Funktion nicht wirklich im Hinterkopf... wahrscheinlich verpass ich deswegen diverse Funktionen <img class="smilie smilie--emoji" loading="lazy" alt="😤" title="Schnaubendes Gesicht :triumph:" src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f624.png" data-shortname=":triumph:" /><img class="smilie smilie--emoji" loading="lazy" alt="🤔" title="Nachdenkendes Gesicht :thinking:" src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f914.png" data-shortname=":thinking:" /><br /> <br /> Auf jeden fall klappt das jetzt mit der Umsetzung als AppleSkript und Speichern als Programm! <img class="smilie smilie--emoji" loading="lazy" alt="😀" title="Grinsendes Gesicht :grinning:" src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f600.png" data-shortname=":grinning:" /><br /> Vielen Dank für die Unterstützung!<br /> <br /> Ob ich den weg mit der Automatischen Ausführung dann noch hinbekomme, werde ich sehen, aber kann auch mit dieser Lösung leben<br /> <br /> Gruß<br /> <br /> Marco</div>
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.364
<div class="bbWrapper">Hallo,<br /> <br /> eine VPN Verbindung lässt sich ja auch mit einem Skript starten<br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Code: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang=""><code>scutil --nc start 'Mein VPN Name'</code></pre> </div> </div><br /> Das Verbinden wird ja einen Augenblick dauern, den man abwarten müsste ... aber an sich ließe sich dein Skript hinten dranhängen ...<br /> <br /> Als AppleScript geschrieben -- aber ungetestet:<br /> <br /> <div class="bbCodeBlock bbCodeBlock--screenLimited bbCodeBlock--code"> <div class="bbCodeBlock-title"> Code: </div> <div class="bbCodeBlock-content" dir="ltr"> <pre class="bbCodeCode" dir="ltr" data-xf-init="code-block" data-lang=""><code>do shell script &quot;scutil --nc start 'Mein VPN Name'&quot; -- oder ähnliches: repeat until word 1 of (do shell script &quot;scutil --nc status 'Mein VPN Name'&quot;) is &quot;Connected&quot; end repeat do shell script &quot;sudo route -nv add -net 10 -interface utun5 sudo route change default 192.168.125.1&quot; with administrator privileges</code></pre> </div> </div><br /> <br /> Gruß</div>