Почему симлинк не перенаправляет на исполняемый файл (не выдавая ошибки)?

Хочу открывать файлы из консоли Git Bash c помощью редактора Sublime.

Создала симлинк и поместила его в директорию, которая указана в $PATH:

5a970f938fec4874097294.png
Вот так:
ln -s "e:/SublimeText3/subl.exe" C:/Users/ART21/bin/

В результате создался непустой симлинк по указанной директории. Закрыла и открыла консоль.
Однако вызов subl ни к чему не приводит (нет ошибок, и редактор не открывается):

5a97110d49464155462320.png

если открывать вручную, например: e:/SublimeText3/subl.exe . - все работает. (Редактор откроет текущую директорию)
Подскажите в чем может быть загвоздка?

P.S. Вопрос вдогонку:
Почему в переменной $PATH могут быть перечислены директории,
которых, как я полагаю нет в Windows. Например, "usr/local/bin"?

Заранее спасибо!
  • Вопрос задан
  • 240 просмотров
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
1. Путь начинающийся с C: не должен работать в git-bash, так как в линуксе в пути не должно быть двоеточий.

2. По вашему вопросу - git-bash монтирует /usr/local/bin и другие папки, потому что в POSIC есть принятый стандарт для дерева каталогов, И git-bash его имитирует.

3. Ссылка не есть гуд. Работа с библиотеками в windows устроена не так, как в windows, поэтому делать ссылку на бинарник - означает что он будет запускаться не из своей директории, где есть еще и другие ресурсы, а из директории с ссылкой. Может быть ошибка.

4. Гораздо лучше добавить в PATH директорию с subline, например так:
PATH=$PATH:"e:/SublimeText3/"
и можно вызывать sublime
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
keydon2
@keydon2
...
Потому что пользователи windows должны страдать :(
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы