як запустити відкрите -n ім'я аплікатону з командного рядка?


0

Я отримав ці два рядки, які я хочу запустити з файлу сценарію (на Yosemite 10.10.3). Він працює при запуску з терміналу

CX_LICENSE=LS
open -n /Applications/Inspire\ Designer\ 10.0\ GA/Inspire\ Designer.app/

Я зберегла ці два рядки у файлі та назвала його запуск ID. -rwxr-xr-x @ 1 Персонал адміністратора 89 20 липня 17:34 runID

Якщо я подвійно клацну на runID, я отримаю нове вікно

Last login: Mon Jul 20 17:22:27 on ttys002
dsa-mac1:~ Administrator$ /Users/Administrator/Desktop/runID ; exit;
: command not foundr/Desktop/runID: line 1: 
/Users/Administrator/Desktop/runID: line 1: -n: command not found
logout

[Process completed]

будь-яка ідея, як змусити працювати runID?


так, це правильно. Скопійовано з терміналу.
Радек

Я використовував стандартний текстовий редактор. Неможливо згадати його ім’я зараз.
Радек

Я зараз не в змозі це зробити. Я робив віддалений сеанс і намагався вирішити проблему. Я попрошу когось видати та побачити. Дякую за твою допомогу.
Радек

Повідомлення про помилку, схоже, не відповідає вашому зразку коду (-n знаходиться у рядку 2), але це може бути наслідком наявності рядків у стилі Windows. Чи можете ви використовувати nanoяк редактор, написати там сценарій і спробувати ще раз?
nohillside

Також для використання конкретного додатка вам потрібна така -aопція, як open -n -a "Inspire Designer.app".
nohillside

Відповіді:


2

Вам не вистачає початкового рядка файлу сценарію - "shebang".

Помістіть у файл сценарію наступне:

#! / бін / ш
CX_LICENSE = LS
відкрити -n / Програми / Надихати \ Дизайнер \ 10.0 \ GA / Надихати \ Дизайнер.app/

Це повинно працювати - файл, який ви мали раніше, не мав достатньо інформації, щоб розповісти операційній системі, як запустити ваш скрипт. Ви хочете запустити набір команд оболонки, тому вам потрібно сказати операційній системі, що це скрипт оболонки, який робиться шляхом включення #!/bin/shв перший рядок сценарію.

Додаткову інформацію див. У відповіді на переповнення стека.

Оновлення

Тільки для підтвердження, я щойно перевірив цей сценарій, і він прекрасно працює:

#!/bin/sh
open -n /Custom\ Applications/MacVim.app

Як правильно вказав @ fd0, слід назвати сценарій <script>.toolабо <script>.commandвиконати його з Finder (де <script>значуща назва сценарію).


Я думаю, я це вже пробував. Дозвольте підтвердити завтра.
Радек

Так, я спробував, перш ніж надсилати це питання. Отримання цього "dsa-mac1: Desktop Administrator $ ./runID ./runID: рядок 2: -n: команда не знайдена"
Radek

Я щойно перевірив, використовуючи аналогічний сценарій, і він спрацьовує чарівність - дивіться мою оновлену відповідь.
mjturner

1
@mjturner - Сценарії оболонки не мають подвійного натискання, якщо вони не суфіксируються з .commandабо .tool. У будь-якому випадку текстові файли не потребують шебанг. Сценарій працює в екземплярі оболонки користувача.
fd0

@ fd0 Так, так я зрозумів (і дякую за .command/ .toolпідказку). Також я нехтував тестуванням за допомогою Finder :(
mjturner
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.