Como posso obter o diretório de trabalho atual em um formato de string agradável, $PWD?

Como posso obter o diretório de trabalho atual em um formato de string agradável, $PWD?

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 $PWDassim não está funcionando. Enquanto estou no bash, echo $PWDfornece 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 $PWDestá relacionada ao cdcomando. 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 $PWDby .e deve funcionar.

informação relacionada