Afficher le contenu du package à partir de la ligne de commande

14

Lorsque je travaille sur le terminal, j'utilise souvent la open .commande pour ouvrir une fenêtre de recherche montrant le répertoire de travail actuel. Mais si le répertoire en cours est en fait un package, comme une .appapplication ou une .vmwarevmmachine virtuelle, open .lance l'application ou la machine virtuelle à la place.

Comment puis-je ouvrir une fenêtre de recherche affichant le contenu d'un package spécifié?

J'ai essayé open -A /System/Library/CoreServices/Finder.app ., mais cela n'a pas fonctionné.

andrew
la source
Pas sur un Mac pour tester, mais avez-vous simplement essayé d'utiliser cd /System/Library/CoreServices/Finder.app? Si cela ne fonctionne pas, je supprimerai le commentaire.
stuffe
Je parierais qu'une supposition open -a Finder .ne fonctionne pas, car lorsque vous double-cliquez sur un ensemble d'applications dans le Finder, l'application démarre :).
Jason Salaz

Réponses:

3

L'utilisation open -Rdu premier fichier du bundle fonctionnerait même si le bundle n'a pas de Contentsrépertoire:

reveal() (
  shopt -s nullglob
  for f; do
    a=("$f"/*)
    [[ -d $f && ${#a} != 0 ]] && open -R -- "${a[0]}" || open -R -- "$f"
  done
)

Il pourrait être plus facile de simplement taper open -Ret le chemin d'un fichier à l'intérieur du bundle. Vous pouvez lier menu-completeà .inputrcla rendre plus facile à insérer le chemin du premier fichier.

Lri
la source
9

Vous pouvez simplement cddans le package pour l'ouvrir dans Terminal, puis open Contentspour ouvrir le contenu dans le Finder.

Par exemple, pour ouvrir le contenu de Safari.app dans le Finder, vous pouvez exécuter ce qui suit:

cd /Applications/Safari.app
open Contents
grg
la source
1
Non, tous les packages n'ont pas de Contentsdossier - .vmwarevmles machines virtuelles n'en ont pas.
andrew
Un autre type de bundle sans Contentsdossier est le .xcodeprojbundle. Vous pouvez obtenir un exemple ici .
andrew
2
Le bit Contenu n'est qu'un exemple, effectuer une cddans le fichier .app est ce que vous recherchez, quel que soit le contenu éventuel des bundles d'application.
stuffe
1
open -R *

ouvre le package dans le Finder. Mais attention: il sélectionne également tous les fichiers et dossiers contenus. En général, cela pourrait vous convenir car la plupart du temps, c'est juste Contents.

Ressemble à ça: Schalalalalala

Max Ried
la source
2
L'ouverture * semble être une très mauvaise idée, surtout sans avertir les gens de ce qu'il ferait dans le mauvais répertoire (et comment quelqu'un qui ne reçoit pas de répertoires pourrait-il même savoir dans lequel il se trouve). Cela devrait-il être un commentaire sur cette autre réponse ?
bmike
@bmike Je suppose que vous avez oublié l'option -R ...
Max Ried
0
open -R .

De

man open

-R, --reveal Sélectionne dans le Finder au lieu de l'ouvrir.

Ajith
la source
-1

Dans le Finder, faites un clic droit sur l'application et choisissez «Afficher le contenu". L'ouvre ouvre l'application et vous pouvez ensuite naviguer dans les dossiers ci-joints.

jmh
la source