DIR=$(cd "$(dirname "$0")"; pwd)
fornecerá o nome do diretório do script de shell. Para um aplicativo de script de shell, isso será /path/to/Your shell script application.app/Contents/MacOS
.
No Mac OS X, do ponto de vista de um aplicativo de script de shell, como posso obter seu caminho de diretório de pacote para uso em um script de shell ? Ao usar o comando env, ele retorna que o caminho de execução do aplicativo é / e nenhuma variável de ambiente ajuda. Estou fazendo isso porque gostaria de acessar alguns recursos do pacote e porque o aplicativo nem sempre é instalado em / Applications.
Obrigado!
Eu estava sugerindo tentar which
, mas não funciona para aplicativos do Mac.
Você pode usar localizar , lembrando que os aplicativos do Mac são empacotados e um shell os vê como diretório. Não esqueça de adicionar a extensão para aplicativos (.app).
Se você puder obter o caminho absoluto do aplicativo para o executável, obter o diretório do pacote é tão simples quanto acrescentar que com /../ .. você obtém o pacote principal. Se você quiser os recursos no entanto, basta adicionar ao acima / Recursos.
Edit: Você quer algo completamente diferente da minha resposta original. Mantê-lo abaixo, caso seja útil para qualquer pessoa. Agora eu acho que você está procurando o comando basename
, embora eu ainda não esteja certo e eu acho que você precisará especificar mais informações sobre o que você está fazendo antes de podermos dar uma resposta decente. / p>
Não sei se entendi a pergunta. Você está tentando localizar o diretório do aplicativo? Por exemplo. para a Calculadora, você quer o diretório em que o Calculator.app está?
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
Ou você está procurando algo completamente diferente?
Tags path macos shell-script bundle