===== Копирование сетевых путей SMB в macOS High Sierra =====
{{:apple-mac-os:macos-high-sierra:pasted:20180501-170908.png }} Многие пользователи **macOS** знают, что для копирования расположения до файла или каталога можно воспользоваться сочетанием клавиш: **⌥**+**⌘**+**C**. Но работая в сети зачастую возникает необходимость копирования сетевых расположений, как **SMB**-путей для Linux/Mac-пользователей, так и **UNC** для Windows-пользователей. По умолчанию такой возможности macOS не имеет, но мы можем создать службу на **Automator.app**.
Создадим документ типа "**Служба**" для копирования **SMB**-пути:
{{ :apple-mac-os:macos-high-sierra:pasted:20180528-185823.png }}
Укажем, что служба получает "**файлы и папки**" в "**Finder.app**"
Первым шагом добавим "**запустить Shell-скрипт**". Тип **Bash**, передаём входные данные, как аргумент.
Добавим скрипт:
#!/bin/bash
echo -n $(mount | grep "$(echo $1 | cut -d "/" -f 1-3)" | sed 's/^.*@\(.*\) on.*$/smb:\/\/\1/g')
echo -n "/"
echo $(echo $1| cut -d "/" -f 4-)
Вторым шагом добавим "**Копировать в буфер обмена**"
Сохраним службу и присвоим ей имя, например "**Копировать SMB путь**"
Для создания службы копирования **UNC**-пути продублируем созданную службу копирования **SMB**-пути и добавим шаг "**Запустить Shell-скрипт**" перед шагом "**Копировать в буфер обмена**". Тип **Perl**. Передаём входные данные в качестве аргумента.
Добавим скрипт:
#!/usr/bin/perl
use utf8;
for(@ARGV){
/\\/ ? s{\\}{/}g : s{smb:/|/}{\\}g;
print $_
}
Сохраним службу и присвоим ей имя, например "**Копировать UNC путь**".
Для удобства использования можно назначить горячие клавиши вызова служб в **Настройки** → **Клавиатура** → **Сочетания клавиш** → **Службы**.
{{ :apple-mac-os:macos-high-sierra:pasted:20180528-185851.png }}
----
Проверено на следующих конфигурациях:
^ Версия клиентской ОС ^
| Apple macOS High Sierra (10.13.4) |
| Apple macOS Mojave (10.14) |
----
{{:user:vyakob.png?50&nolink |}} Автор первичной редакции:\\ [[user:vyakob|Виталий Якоб]] \\ Время публикации: 28.05.2018 18:44
{{tag>Apple "Mac OS" macOS "High Sierra" UNC SMB Share "Shared Folder" "File server" Finder Automator Shell Script Bash Perl}}
~~DISCUSSION~~