Я поняття не мав, що всі програми Windows розуміють аргументи командного рядка.
Так чи ні, це не так у Mac OS. Коли ви використовуєте додаток Terminal, ви взаємодієте з підсистемою BSD, яка дотримується всіх зразків, яких ви очікували від операційної системи UNIX або Linux.
Там є багато ресурсів, щоб ознайомитись з оболонкою bash та командним рядком * NIX. Щоб розпочати роботу, man
команда отримає вам сторінку для будь-якої команди, яку ви перейдете. Як правило, всі розділені пропуском «слова», які ви вводите після команди, трактуються як аргументи для цієї команди, принаймні, доки ви не натиснете на якийсь вихідний переадресацію. або керуючий символ , як |
, <
, >
, &
.
Таким чином , у вашому прикладі, ви дзвонили open
і проходячи file.pdf
, --args
і в -page=5
якості аргументів. Як ви зауважили, open
не знаю, що робити з більшістю з них.
У всякому разі, давайте копаємо глибше. Більшість програм (як, наприклад, Preview.app у цьому випадку) мають виконуваний файл десь у наборі програм. Ви можете реально виконати це ( /Applications/Preview.app/Contents/MacOS/Preview
), щоб запустити «Попередній перегляд» безпосередньо, не проходячи open
, але аргументи командного рядка зрозуміють лише певні створені спеціально виконані файли. Preview
не одна з них.
man
Команда працює тільки для команд , які були встановлені сторінки керівництва, і вони, як правило , тільки команди у вашій оболонці $PATH
змінного. Для інших виконуваних файлів (і зазвичай для стандартних) ви можете спробувати зателефонувати у виконуваний файл з --help
аргументом, щоб отримати інформацію про використання незалежно від того, чи є вона на вашому шляху. Це не спрацює для всього, але це загальна закономірність.
Таким чином, може бути PDF-зчитувач, чий виконуваний файл розуміє аргументи командного рядка, але якщо ми все ще працюємо з Preview, нам потрібно перейти на іншу парадигму - AppleScript . Ви можете прочитати все про це у Вікіпедії, але основи цього полягають у тому, що це мова сценаріїв на природній мові, яка дозволяє програмно надсилати Apple Events до програм. Деякі програми реалізують великі бібліотеки AppleScript, щоб забезпечити більшу автоматизацію.
Хороша новина тут полягає в тому, що ви можете обробляти AppleScript в командному рядку за допомогою osascript
. Ще хороша новина полягає в тому, що люди вже вирішили вашу проблему AppleScript, щоб отримати Preview для перегортання сторінки в PDF тут: https://discussions.apple.com/thread/3215851
Отож, для вирішення вашої проблеми має бути ваш підхід:
- Створіть команду термінала, щоб відкрити PDF у програмі «Попередній перегляд», це
open file.pdf
повинно працювати добре.
- Перевірте AppleScript, щоб змінити сторінку цього PDF на ту, яку ви вказали (використовуйте Script Editor.app).
- Дізнайтеся достатньо про командний рядок, щоб розробити оператор, який виконає обидва кроки за один раз.
open
команду. Щоб побачити, які аргументи він може прийняти, введітьman open
.