script starten vanuit Finder

Ik wil graag een script starten via een dubbel-klikbare applicatie. Enig idee hoe ik dit kan doen? Het hoeft geen venster te openen, dus een volwaardige applicatie gemaakt via Xcode lijkt me wat teveel van het goede. Zijn er nog andere mogelijkheden?

Dat ligt eraan wat je wil. Een script gemaakt in Automator kan je executen door te dubbelklikken. Een shell-script gemaakt in je texteditor kan je daarentegen niet executen door te dubbelklikken (voor zover ik weet..).

Je kunt er een executable van maken en die dan in een dir plaatsen die de structuur van een applicatie-dir heeft. Dit heb ik zelf nog nooit gedaan maar, ik geloof dat ik het ooit ergens gelezen heb.

Ik heb de meeste recente versie van [url=http://webkit.opendarwin.org/]WebKit[/url] geinstalleerd en wil Safari opstarten via het meegeleverde run-safari script. Dit script (in perl) zorgt ervoor dat Safari de nieuwere versie van WebKit gebruikt. Om dit script te activeren, type ik nu 'run-safari' in de terminal (het pad naar dit script staat al in mijn PATH), maar het leek me handiger om dit te doen via een dubbelklikbaar icoon, op mijn Desktop, of eventueel in de Dock.

Ik had nog niet aan Automator gedacht, maar misschien kan het ook via Applescript.

Het kan via Applescript, met het commando [code:1:9044fe71f4]do shell script[/code:1:9044fe71f4] kan je alles naar de terminal sturen.

Je kan ook een dubbelklik-baar script schrijven.
Maak gewoon een shell script aan, maar gebruik de extensie .command ipv .sh .
Nu kan je het bestand gewoon dubbelklikken.

Succes

[url]http://sveinbjorn.sytes.net/platypus[/url]

Een script met de extensie ".command" wordt in de terminal uitgevoerd vanuit de finder.

Je moet dan wel de “shebang” regel goed hebben: de eerste regel begint met “#!”, gevolgd door het programma dat het script uitvoerd. Bijvoorbeeld “#!/bin/sh”.

Een probleem hiermee is dat het script wordt uitgevoerd in je home-directory, niet de directory van het script zelf. Het script moet dan de juiste directory opzoeken, bijvoorbeeld met het commando:

[code:1:829565f077]cd "dirname $0"[/code:1:829565f077]

Je kan terminal scripts starten met AppleScript.

“do shell script” ofzo…