Здесь, в моем отделе, мы используем сервер акций samba как место для хранения сотрудников. Для сотрудников, использующих машины Apple, мы пытаемся использовать приложение AppleScript, которое будет получать имя пользователя и пароль пользователя, а затем использовать их для монтирования дисков. Проблема возникает, когда пользователь вводит пароль, содержащий escape-символы; например abcdefg/. Вот диалог код, который устанавливает переменные для пользователя и пароля:Ошибки Applescript при чтении пользовательского ввода (пароля), содержащего escape-символы
set user_name_dialog to display dialog "Enter your User ID: " default answer "" buttons {"Next"} default button "Next"
set user_name to text returned of user_name_dialog
--this line prompts the user for their password and sets the returned result as the variable "user_password"
set user_password_dialog to display dialog "Enter your Password. " & return & return & "WARNING: If you are running Panther (MacOS 10.3), your input will be displayed in this box as clear text." default answer "" buttons {"Next"} default button "Next" with hidden answer
set user_password to text returned of user_password_dialog
А вот линия скрипт, который побежал для монтажа привода:
do shell script "mount -t smbfs //" & user_name & ":" & user_password & "@SOME IP ADDRESS/SOME FOLDER/ /SOME MOUNT POINT/" & user_name & "-SOME SHARE"
Теперь я знаю, из небольшого исследования что это может быть что-то же просто, как дополнительная пара цитат где-то, я даже пытался
quoted form of
не повезло бы то ни было. Сообщение об ошибке я получаю при вводе строки с экранирующего символа как таковой:
error "mount_smbfs: server connection failed: No route to host" number 68
Любая помощь будет ЗНАЧИТЕЛЬНО оценили, как мой опыт работы с AppleScript очень ограничено.
возможно дубликат [Монтирование диска SMB с помощью AppleScript] (http://stackoverflow.com/questions/19727128/mounting-an-smb-drive-via-applescript) –