Как мне получить текущий рабочий каталог в удобной строковой форме, $PWD?

Как мне получить текущий рабочий каталог в удобной строковой форме, $PWD?

Я пытаюсь настроить профиль сборки в текстовом редакторе 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командой. Она ссылается на текущий каталог, но, возможно, по пути, который не нормализован.

Вам нужен только текущий каталог, и точный путь к нему неважен.

Текущий каталог называется просто .(одна точка), так же как и родительский каталог ..(две точки).

Так что вы можете заменить $PWDby ., и это должно сработать.

Связанный контент