Используя скрипт Apple для копирования, выполните команду терминала - PullRequest
0 голосов
/ 02 апреля 2020

Я впервые создаю сценарий Apple.

Я пытаюсь создать сценарий на своей ма c, чтобы он дублировал папку с именем «Шаблон 1-клиента», затем мне нужен терминал чтобы спросить меня, на что я хотел бы переименовать его, а затем, наконец, выполнить несколько команд терминала.

Вот команды терминала, которые я хочу выполнить

cd ~/Documents/Clients/TEMPLATE/Projects/Website/5-Website && git init && git add . && git config --global user.email 'name@email.com' && git config --global user.name 'Full Name' && git commit -m 'initial commit, added all website files' && git status

Я знаю запрос ввода часть, конечно, не так, но я не могу понять это немного. Пока это мой сценарий ...

tell application "Finder"
    if exists Finder window 1 then
        set ~/documents/Clients/1-Client\ Template to ~/documents/Clients/ask for input
    else
        return
    end if
end tell
tell application "Terminal"
    do shell script "cd ~/Documents/Clients/TEMPLATE/Projects/Website/5-Website && git init && git add . && git config --global user.email 'name@email.com' && git config --global user.name 'Full Name' && git commit -m 'initial commit, added all website files' && git status
"
    activate
end tell

Я создал этот код, просматривая другие онлайн-примеры, но не совсем понял.

Я получаю следующую ошибку

Expected expression but found unknown token.

1 Ответ

0 голосов
/ 02 апреля 2020

do shell script не нуждается в блоке Tell, и даже не требует, чтобы терминал работал, потому что он вызывает оболочку напрямую.

Если вам нужно запросить у пользователя ввод (т. Е. Новое имя файла), и вы используете AppleScript, есть способы запросить строку, например (text returned of (display dialog "foo" default answer "bar")), или если вам нужно выбрать папку, вы можете использовать (quoted form of (POSIX path of (choose folder))), аналогично для файлов, которые вы можете использовать (quoted form of (POSIX path of (choose file))), оба из которых дадут вам дружественный к оболочке путь строки, полученный из Ma c GUI.

. Для реального переименования вам придется либо использовать Finder (что сложнее, чем вы думаете, потому что у него совершенно другой способ обращения к файлам) или тщательно сконструированный вызов do shell script с использованием ( например) mv, что, вероятно, лучше, так как вы будете делать это с путями POSIX, а не с ссылками на файлы Finder, и потом будет легко делать вещи git или что-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...