объединить строку и переменную в строку в applecript - PullRequest
14 голосов
/ 27 августа 2011

Я должен написать Applescript для автоматического монтирования папки в зависимости от пользователя. Редактор Applescript выдает эту ошибку.

Конец строки не может идти после этого идентификатора.

Здесь часть скрипта, которая выдает ошибку.

try
    set short_name to do shell script "whoami"
    set path to "afp://fileserver.local/Faculty/" & short_name
    mount volume path as user name short_name
end try

Ответы [ 2 ]

17 голосов
/ 27 августа 2011

path не может быть именем переменной.

try
    set short_name to do shell script "whoami"
    set p to "afp://fileserver.local/Faculty/" & short_name
    display dialog p
end try

Работает нормально.

8 голосов
/ 27 августа 2011

Я согласен с Бертраном, ваша проблема с использованием «пути» в качестве переменной. Некоторые слова имеют особое значение для appleScript и не могут использоваться в качестве переменной, а путь является одним из них. Вы заметите, что когда вы компилируете свой код, этот путь не становится зеленым, как другие переменные, что указывает на его особенность.

Если вы все еще хотите использовать «путь» в качестве переменной, вы можете, хотя. В appleScript вы можете поставить "|" вокруг переменной, чтобы указать appleScript, что это переменная. Так что это будет работать.

try
    set short_name to do shell script "whoami"
    set |path| to "afp://fileserver.local/Faculty/" & short_name
    mount volume |path| as user name short_name
end try

Обратите внимание, что используя эту технику, вы можете иметь одну переменную в нескольких словах, например ...

set |the path| to "afp://fileserver.local/Faculty/" & short_name

Один последний комментарий ... есть метод appleScript, чтобы получить короткое имя пользователя человека ...

set short_name to short user name of (get system info)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...