Сценарий оболочки Приложение Mac OS X: получите его путь

В Mac OS X, с точки зрения приложения сценария оболочки, как я могу получить ее путь к каталогу пакета для использования в сценарии оболочки? При использовании огибающей команды это возвращает это, путь выполнения приложения/, и никакая переменная среды не помогает. Я делаю это, потому что я хотел бы получить доступ к некоторым ресурсам пакета, и потому что приложение не всегда устанавливается в Приложениях/.

Спасибо!

6
задан 08.12.2010, 20:17

4 ответа

DIR=$(cd "$(dirname "$0")"; pwd) даст имя каталога сценария оболочки. Для приложения сценария оболочки это будет /path/to/Your shell script application.app/Contents/MacOS.

6
ответ дан 07.12.2019, 15:58

Я предлагал попробовать which, но это не работает на приложения Mac. Можно использовать, находят, имея в виду, что приложения Mac связываются, и оболочка рассматривает их как каталог. Не забывайте добавлять расширение для приложений (.app).

1
ответ дан 07.12.2019, 15:58

Если можно получить полный путь приложения к исполняемому файлу, получение dir пакета так же просто как добавление это с/../.. это получает Вас основной пакет. Если Вы хотите ресурсы однако, просто добавьте к вышеупомянутому / Ресурсы.

1
ответ дан 07.12.2019, 15:58

Править: Вы хотите что-то совершенно другое, чем мой исходный ответ. Хранение его ниже в случае, если это полезно для любого. Теперь я думаю, что Вы ищете basename команда, хотя я все еще не уверен и я думаю, что необходимо будет указать больше информации о том, что Вы делаете, прежде чем мы сможем дать Вам достойный ответ.

Я не уверен, что понимаю вопрос. Вы пытаетесь определить местоположение каталога приложения? Например, для Калькулятора, Вы хотите каталог, в котором находится Calculator.app?

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

Или Вы ищете что-то совершенно другое?

0
ответ дан 07.12.2019, 15:58

Теги

Похожие вопросы