DIR=$(cd "$(dirname "$0")"; pwd)
gibt den Verzeichnisnamen des Shell-Skripts an. Bei einer Shell-Skript-App wird dies der Fall sein /path/to/Your shell script application.app/Contents/MacOS
.
Shell-Skript Mac OS X App: Ermitteln Sie den Pfad
Wie kann ich unter Mac OS X aus der Sicht einer Shell-Skriptanwendung den Pfad des Bundle-Verzeichnisses zur Verwendung in einem Shell-Skript erhalten ? Bei Verwendung des Befehls env wird zurückgegeben, dass der Ausführungspfad der App / ist und keine Umgebungsvariable hilfreich ist. Ich mache das, weil ich auf einige Ressourcen des Bundles zugreifen möchte und die App nicht immer in / Applications installiert ist.
Vielen Dank!
4 Antworten auf die Frage
- Beliebte
- Neu
- Mit Kommentaren
- Aktiv
Ich habe vorgeschlagen zu versuchen which
, aber es funktioniert nicht für Mac-Anwendungen. Sie können find verwenden, wobei zu beachten ist, dass Mac-Anwendungen gebündelt sind und eine Shell sie als Verzeichnis sieht. Vergessen Sie nicht, die Erweiterung für Anwendungen (.app) hinzuzufügen.
Wenn Sie den absoluten Pfad der Anwendung zur ausführbaren Datei abrufen können, ist das Abrufen des Bundle-Verzeichnisses so einfach wie das Anhängen des Befehls mit /../ .., wodurch Sie das Hauptpaket erhalten. Wenn Sie die Ressourcen jedoch möchten, fügen Sie einfach die obigen Ressourcen hinzu.
Edit: Du willst etwas ganz anderes als meine ursprüngliche Antwort. Halten Sie es unten, falls es für jedermann nützlich ist. Jetzt denke ich, dass Sie nach dem basename
Befehl suchen, obwohl ich immer noch nicht sicher bin, und ich denke, Sie müssen weitere Informationen dazu angeben, was Sie tun, bevor wir Ihnen eine anständige Antwort geben können.
Ich bin nicht sicher, ob ich die Frage verstehe. Versuchen Sie, das Anwendungsverzeichnis zu finden? ZB für den Rechner wollen Sie das Verzeichnis, in dem sich Calculator.app befindet?
jed@jed-osx:~$ ls -la /Applications/Calculator.app/ total 0 drwxr-xr-x 3 root wheel 102 Jun 22 11:27 . drwxrwxr-x+ 46 root admin 1564 Jun 18 23:19 .. drwxr-xr-x 10 root wheel 340 Jun 22 11:26 Contents jed@jed-osx:~$ ls -la /Applications/Calculator.app/Contents/ total 8 drwxr-xr-x 10 root wheel 340 Jun 22 11:26 . drwxr-xr-x 3 root wheel 102 Jun 22 11:27 .. lrwxr-xr-x 1 root wheel 28 Apr 17 15:15 CodeResources -> _CodeSignature/CodeResources -rw-r--r-- 1 root wheel 1201 May 6 10:26 Info.plist drwxr-xr-x 3 root wheel 102 Jun 22 11:26 MacOS -rw-r--r-- 1 root wheel 8 Jul 6 2009 PkgInfo drwxr-xr-x 4 root wheel 136 Jul 6 2009 PlugIns drwxr-xr-x 42 root wheel 1428 Apr 17 15:28 Resources drwxr-xr-x 3 root wheel 102 Jun 22 11:26 _CodeSignature -rw-r--r-- 1 root wheel 451 May 6 10:27 version.plist
Oder suchen Sie etwas ganz anderes?
Verwandte Probleme
-
3
Beschleunigung der Bootzeiten von OS X bei einem Jahr alten MBP
-
3
Wie ordnen Sie ein Airport Time Machine-Backup nach der Migration auf einen neuen Mac wieder zu?
-
6
Wie können Sie den Startton auf einem Mac stummschalten?
-
5
Warum wird mein Macbook bei der Verwendung von Boot Camp extrem heiß?
-
7
Gibt es unter Mac OS X ein Strg + Tab-Äquivalent?
-
6
Weg, um Time Machine-Daten auf eine neue Festplatte zu migrieren
-
13
Setzen Sie die Windows-Position von Mac OS X nach dem Abnehmen des externen Monitors zurück
-
10
Sicherungssoftware für Mac OS X
-
5
Wie kann ich unter Mac OS X einen .kext deinstallieren und entfernen?
-
4
Wie kann ich die Auswurftaste auf der MacBook-Tastatur erneut "löschen"?