ryg

Команда open в Mac OS X и Unix

Синтаксис:

 open [-e] [-t] [-f] [-F] [-W] [-R] [-n] [-g] [-h] [-b bundle_identifier] [-a application] file ... [--args arg1 ...]

Описание:

Команда open открывает файл (или папку или URL) аналогично действию двойного клика на его иконку. Если в параметрах не указано имя приложения, то будет использовано приложение по умолчанию, указанное в LaunchServices для данного типа файлов.
Если файл задан в виде URL, то он будет открыт как URL.
Можно указать одно или больше имен файлов (путей) которые будут интерпретированы bash или терминалом относительно текущей папки. Например, команда открыть все txt в текущей папке:
open *.txt
Уже открытые приложения наследуют переменные среды, как и вновь запускаемые приложения.

Параметры команды open:

-a application Определяет приложение, которое будет использовано для открытия файла.
-b bundle_indentifier Определяет приложение, открывающее файл с помощью узла (описания) Apple.
-e Открывает файл с помощью  /Applications/TextEdit
-t Открыть файл с помощью текстового редактора, связанного с данным типом файлов в LaunchServices. 
-f Считать данные из стандартного ввода и открыть их в текстовом редакторе по умолчанию. Завершением исходных данных будет символ конца файла EOF (ctrl+D). Удобно при перенаправлении результатов выполнения стандартный поток для последующей обработке в редакторе.
-F Переоткрыть приложение заново, без восстановления окон.
-W Принуждает ждать открытия приложения, а если оно уже открыто, то его освобождения.
-R Показать файл в Finder, а не открывать его.
-n Открыть новый экземпляр приложения, даже если оно уже запущено.
-g Не заставлять выводить приложение на передний план.
-h Ищет файл по заголовку и потом открывает его. Для ускорения поиска заголовок желательно указывать полностью.
-args Передать требуемые параметры открываемому приложению, как аргументы в функцию main(). Данные аргументы не преобразовываются и не обрабатываются командой open, а передаются непосредственно запускаемому приложению.

Примеры:

Открыть файл php.ini с помощью программы по умолчанию, казанной в LaunchServices

     open '/etc/php.ini

Открыть папку в Finder

     open '/Volumes/Macintosh HD/Applications/'

Открыть файл foo.txt с помощью TextEdit (два варианта вызова).

     open -a /Applications/TextEdit.app  '/Volumes/Macintosh HD/foo.txt'
     open -b com.apple.TextEdit '/Volumes/Macintosh HD/foo.txt'

Открыть файл foo.txt в используемом по умолчанию редакторе для текстовых файлов:

     open -e '/Volumes/Macintosh HD/foo.txt'

Выполнить команду ls, а ее результат сохранить в папке /tmp открыть для редактирования редактором по умолчанию для текстовых файлов:

     ls | open -f

Открыть страницу в браузере по умолчанию:

     open http://www.apple.com/

Открыть файл foo.txt

     open 'file://localhost/Volumes/Macintosh HD/foo.txt'

Не открывать файл в программе по умолчанию, а найти и показать его в Finder

     open -R '/Volumes/Macintosh HD/foo.txt'

Найти файлы содержащие в заголовке NSView и ввести список выбора для открытия программой по умолчанию:

     open -h NSView"

Быстрое открытие файла /System/Library/Frameworks/Foundation.framework/Head-ers/NSString.h в Xcode

     open -a Xcode -h NSString.h   

Связанные материалы:

cron Утилита исполнения запланированных команд
crontab Команда управления графиком команд для cron
launchd Менеджер выполнения заданий для Darwin
launchctl  Утилита управления для launchchd
history Показать историю выполненных команд
LaunchServices
Список команд terminal в Mac OS X по алфавиту