
Я пытаюсь настроить профиль сборки в текстовом редакторе Sublime.
Я намерен достичь интерпретатора Python в виртуальной среде, если я это сделаю
{
"shell_cmd": "~/Desktop/generalPyProjects/venv/bin/python -u \"$file\""
}
Он работает хорошо, однако, что я хочу сделать, так это сделать путь относительным (ну, по крайней мере, полуотносительным), чтобы я мог использовать тот же профиль здания без изменений, пока я нахожусь в корневом каталоге проекта. Я думаю, что просмотр кода ниже скажет вам, чего я пытаюсь добиться.
{
"shell_cmd": "$PWD/venv/bin/python -u \"$file\""
}
Здесь я пытаюсь использовать системную переменную (по крайней мере, я так ее называю, я новичок в мире Linux, так что формулировка, вероятно, неверна), вместо пути к корневой папке проекта. Так что я открою папку проекта через sublime text и, используя этот профиль сборки, смогу запустить свои скрипты.
Однако, оказывается, что использование $PWD
типа этого не работает. Пока я на bash, echo $PWD
дает прекрасную строковую форму текущего рабочего каталога, однако я не уверен, как сделать это в скрипте.
Итак, как мне это сделать?
решение1
Переменная $PWD
связана с cd
командой. Она ссылается на текущий каталог, но, возможно, по пути, который не нормализован.
Вам нужен только текущий каталог, и точный путь к нему неважен.
Текущий каталог называется просто .
(одна точка), так же как и родительский каталог ..
(две точки).
Так что вы можете заменить $PWD
by .
, и это должно сработать.