Shell-Skripte in Mac OS X laufen vom Home-Verzeichnis?

8

Ich bin ein langjähriger Windows- und Linux-Benutzer (ich habe nichts gegen Macs - ich hatte noch nie einen) und hatte in der Vergangenheit einige seltsame Erfahrungen beim Schreiben von Shell-Skripten unter Mac OS X. Insbesondere kann ich die Skripte schreiben gut und führen Sie sie aus dem Terminal, aber jedes Mal, wenn ich versuche, eine aus einem Finder-Fenster zu starten, wird es immer aus dem Home-Verzeichnis des Benutzers statt das Verzeichnis, in dem das Skript lebt. Das heißt, wenn sich das Skript in

befindet %Vor%

es hat immer keine ~ mehr. In der Vergangenheit musste ich meine Mac-versierten Freunde fragen, wie ich das beheben kann, und sie haben es oft mit etwas pervers schrecklichen Techniken gemacht, aber ich sehe keinen Grund, warum dies der Fall sein sollte. p>

Meine Frage ist - gibt es eine einfache Möglichkeit, ein Shell-Skript in Mac OS X zu schreiben, das beim Doppelklicken auf Finder nicht mehr in dem Verzeichnis läuft, in dem es sich befindet?

    
templatetypedef 05.01.2011, 02:04
quelle

4 Antworten

13

Das Verhalten scheint mir konsistent zu sein. Er erbt Ihre Finder-Instanzen-Umgebung, die in Ihrem Home-Verzeichnis verwurzelt wäre.

Allerdings ist es nicht schwer zu beheben.

%Vor%

Soll der Trick ala:

%Vor%     
richo 05.01.2011, 02:08
quelle
2

Wenn das Skript das Verzeichnis, in dem es sich befindet, nicht mehr ausführen soll, muss das Skript sein Arbeitsverzeichnis ändern. Da Ihr Beispiel in bash geschrieben ist, werde ich mit einem Bash-Beispiel antworten. Der $ _ Wert wird auf den absoluten Pfad des aktuellen Skripts gesetzt. Sie können weitere Informationen finden, indem Sie man bash

ausführen %Vor%     
Zac Sprackett 05.01.2011 02:24
quelle
1

Es liegt an dem Skript, das Verzeichnis für Sie zu ändern. Überprüfen Sie diese Seite .

    
Staros 05.01.2011 02:08
quelle
1

Der Zweck von %code% ist es, dieses Problem zu lösen.

    
bmargulies 05.01.2011 02:09
quelle

Tags und Links