Перегляд / зміна шляхів програми, які використовує `open -a foo.app… '


1

Під час використання open -a iTerm.app SOMEPATHоболонки-скрипту або команди Emacs eshell, схоже, запускається інший примірник iTerm, ніж той, /Applications/iTerm.appякий я очікував.

Явно вказуючи шлях програми, наприклад:

open -a /Applications/iTerm.app SOMEPATH працює як очікувалося.

Це змушує мене підозрювати, що десь є таблиця / база даних пошуку (можливо, це частина LaunchServices), яка відображає голі імена .app на шляху диска, і це дещо переплутано, для чого це слід використовувати (у мене є кілька примірників iTerm на диску з тих пір, коли я бавився з компіляцією з джерела. Однак жодна з них не є в моєму $ PATH.)

Будь-які пропозиції щодо того, як знайти, який шлях на диску open -a <non-absolute .app name>буде використовуватися, а в ідеалі, як це можна змінити?

Відповіді:


1

Якщо ви введете такий командос:

відкрити -R iTerm.app

це відкриє iTerm.app, який ви зараз вибираєте в Finder.

Якщо ви введете

відкрити -a /applications/iTerm.app

він відкриє iTerm.app у папці / Applications, як ви вже говорили.

Якщо ви введете

відкрити -a iTerm.app

він відкриє iTerm.app у поточному місці. (ви можете ввести ls, щоб переглянути вміст поточної папки, або скористатися вищевказаним методом ( -R )

Як загальну підказку, будь ласка, введіть

відкрити - допомогти

щоб побачити наявні методи / команди, які ви можете використовувати.


Дякую, я знаю про -Rваріант (і насправді читайте manpage ;)), але open -R iTerm.appне вдається "Файл /iTerm.app не існує." -Rз абсолютним шляхом насправді це розкриває, але все одно залишає мене не знаючи, що відбувається в неосамотному випадку.
Шабл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.