Под псевдонимом я имею в виду ярлык папки, созданный, когда вы щелкаете правой кнопкой мыши папку в Finder и выбираете «Сделать псевдоним». Я могу пройти через символические ссылки в терминале с cd
, но он не работает на псевдонимами: bash: cd: example-alias: Not a directory
. Можно ли изменить каталог на место назначения псевдонима в Терминале?
9
Ответы:
Чтобы включить cd'ing в псевдоним папки, я нашел следующее в Mac OS X Hints .
Скомпилируйте исходный код ниже с помощью следующей команды:
Это создаст исполняемый файл getTrueName в том же каталоге, что и исходный код. Вы можете добавить его в свой путь или просто скопировать его непосредственно в / usr / bin или / usr / local / bin, чтобы к нему было легко получить доступ.
Исходный код C для getTrueName (скопируйте текст и сохраните файл как getTrueName.c в вашем домашнем каталоге):
Включите следующее в ~ / .bash_profile или создайте новый файл ~ / .bash_profile со следующим содержимым:
Возможно, вам придется перезапустить терминал, чтобы загрузить ваш модифицированный файл .bash_profile.
Протестировано в Yosemite 10.10.2 & gcc 4.2 (Xcode 6.2) и все работает.
Аналогичный подход доступен на superuser.com
источник
Я не проверял ответ @klanomath, но раньше была библиотека Python для получения цели псевдонима, но поддержка Carbon была удалена из фреймворков Apple. Это можно сделать в Задаче C, см. Https://stackoverflow.com/a/21151368/838253 .
Лучше всего использовать символические ссылки, но, к сожалению, Finder не позволяет их создавать.
Я написал OS X Service, которая создает символические ссылки (которые поддерживаются как Finder, так и Terminal). Это запускает следующий скрипт bash в рабочем процессе Finder. (К сожалению, кажется невозможным опубликовать код Automator в читаемом формате).
источник
curFolder
иlinkFile
переменные не используются , так почему они там? Вокруг оператора сравнения должны быть пробелы, например,$fileExists == ""
и рассмотреть возможность использования$(..)
вместо устаревших обратных символов.Вот мой взгляд на это.
добавьте и загрузите эту функцию в свой .profile.
Обновить.
Я использовал
builtin cd
строку, показанную в ответе @klanomath, которая позволяет вам переопределить команду cd. Теперь мы можем использовать:cd /path/to/example-alias
или
cd /path/to/example
Функция должна вернуть и перейти к исходному пути исходного или псевдонима обычного пути.
источник
Хотя символическая ссылка (псевдоним UNIX) выглядит так же, как псевдоним Finder в Finder, они представляют собой два полных различных типа псевдонимов.
Символьная ссылка будет содержать только путь, по которому она ведет, и будет постоянно или временно прервана, если ресурс будет перемещен или находится на отключенном диске или общем ресурсе, соответственно.
Псевдоним Finder - технически обычный файл с инструкциями для Finder. Средство поиска может использовать эту информацию, чтобы найти перемещенный целевой файл / каталог в определенной степени. Если целевой ресурс псевдонима находится в подключенной точке общего доступа к сети, он также содержит информацию о том, какой элемент цепочки для ключей использовать для входа на точку общего доступа, чтобы открыть его.
Таким образом, если вы не напишите скрипт или программу для считывания файла псевдонимов Finder, он будет использовать его не как каталог, а как файл в терминале.
Кроме того, вы можете удалить текущий псевдоним Finder и создать вместо него символическую ссылку. Команда должна была
ln -s /path/to/original
бы создать символическую ссылку в текущем каталоге. Путь может быть полным или относительным путем.источник
osascript[9807:7154723] CFURLGetFSRef was passed an URL which has no scheme (the URL will not work with other CFURL routines)
При помощи этого наконечника , я изменил @ markunte - х AppleScript , чтобы удалить выше предупреждающее сообщение
источник
Как и большинство других операционных систем (кроме Windows), OS X поддерживает скрипты Bash. Сначала создайте файл на рабочем столе (или в любом другом месте):
Нажмите ~ / Desktop / PlexConnect.sh Затем установите права доступа к файлу так, чтобы он был исполняемым:
chmod + x ~ / Desktop / PlexConnect.sh Затем вы можете отредактировать содержимое скрипта с помощью вашего текстового редактора, просто убедитесь, что он начинается со следующей строки, чтобы система знала, что он должен запускаться с использованием оболочки (Bash):
! / Bin / Баш
Затем можно дважды щелкнуть файл, запустить терминал и выполнить его.
Однако более элегантным решением для этого может быть создание приложения AppleScript, которое запускает команду для вас. Откройте приложение «Редактор скриптов» и вставьте следующее:
Выполните сценарий оболочки "/Applications/PlexConnect-master/PlexConnect.py" с правами администратора. Сохраните его как «Приложение», назвав его как хотите. При его открытии вы получите стандартную подсказку пароля OS X, выполните сценарий и закроете себя.
источник