
Estou tentando personalizar um perfil de construção no editor de texto sublime.
Meu objetivo é alcançar o interpretador python em um ambiente virtual, se eu fizer isso
{
"shell_cmd": "~/Desktop/generalPyProjects/venv/bin/python -u \"$file\""
}
Funciona bem, no entanto, o que eu quero fazer é tornar o caminho relativo (bem, pelo menos semi-relativo) para que eu possa usar o mesmo perfil de construção sem alterações, desde que esteja na raiz diretório do projeto. Acho que olhar o código abaixo dirá o que estou tentando alcançar.
{
"shell_cmd": "$PWD/venv/bin/python -u \"$file\""
}
Aqui, estou tentando usar a variável do sistema (pelo menos eu chamo assim, sou meio novo no mundo Linux, então o texto provavelmente está errado), em vez do caminho da pasta raiz do projeto. Para que eu possa abrir a pasta do projeto via texto sublime e usando esse perfil de build, poderei executar meus scripts.
No entanto, acontece que usar $PWD
assim não está funcionando. Enquanto estou no bash, echo $PWD
fornece uma bela forma de string do diretório de trabalho atual, mas não tenho certeza de como fazê-lo em um script.
Então, como posso fazer isso?
Responder1
A variável $PWD
está relacionada ao cd
comando. Refere-se ao diretório atual, mas possivelmente por um caminho que não está normalizado.
Você precisa apenas do diretório atual e não se importa com o caminho exato para ele.
O diretório atual é chamado simplesmente .
(um ponto), assim como o diretório pai é chamado ..
(dois pontos).
Então você pode substituir o $PWD
by .
e deve funcionar.