¿Cómo puedo obtener el directorio de trabajo actual en una bonita forma de cadena, $PWD?

¿Cómo puedo obtener el directorio de trabajo actual en una bonita forma de cadena, $PWD?

Estoy intentando personalizar un perfil de compilación en un editor de texto sublime.

Mi objetivo es llegar al intérprete de Python en un entorno virtual, si lo hago

{
    "shell_cmd": "~/Desktop/generalPyProjects/venv/bin/python -u \"$file\""

}

Funciona muy bien, sin embargo, lo que quiero hacer es que la ruta sea relativa (bueno, al menos semi-relativa) para poder usar el mismo perfil de edificio sin cambios, siempre y cuando esté en la raíz. directorio del proyecto. Creo que mirar el siguiente código le dirá lo que estoy tratando de lograr.

{
    "shell_cmd": "$PWD/venv/bin/python -u \"$file\""

}

Aquí, estoy tratando de usar la variable del sistema (al menos así la llamo, soy un poco nuevo en el mundo de Linux, por lo que la redacción probablemente sea incorrecta), en lugar de la ruta de la carpeta raíz del proyecto. De modo que abriré la carpeta del proyecto a través de texto sublime y, utilizando este perfil de compilación, podré ejecutar mis scripts.

Sin embargo, resulta que usarlo $PWDasí no funciona. Mientras estoy en bash, echo $PWDaparece una bonita forma de cadena del directorio de trabajo actual, sin embargo, no estoy seguro de cómo hacerlo en un script.

Entonces, ¿cómo puedo hacerlo?

Respuesta1

La variable $PWDestá relacionada con el cdcomando. Hace referencia al directorio actual, pero posiblemente mediante una ruta que no esté normalizada.

Sólo necesita el directorio actual y no le importa la ruta exacta al mismo.

El directorio actual se llama simplemente .(un punto), al igual que se llama al directorio principal ..(dos puntos).

Entonces puedes reemplazar $PWDby .y debería funcionar.

información relacionada