Cómo asignar la ruta del archivo/carpeta a una variable en la terminal

Cómo asignar la ruta del archivo/carpeta a una variable en la terminal

Digamos que tengo la siguiente ruta:

/home/$USER/Downloads/My Folder

Intenté asignar la ruta de archivo proporcionada anteriormente a una variable FILE_NAMEde la siguiente manera:

FILE_NAME=/home/$USER/Downloads/My Folder
$FILE_NAME

El resultado fue:

bash: /home/$USER/Downloads/My :No such file or directory

Cómo resolver este problema?

Respuesta1

Tienes que usar comillas si la ruta contiene caracteres de espacio:

FILE_NAME="/home/$USER/Downloads/My Folder"

Respuesta2

El problema es el espacio en blanco incrustado en el nombre. La forma más sencilla de resolver este problema es encerrar la cadena de ruta completa entre comillas (es decir, FILE_NAME="/home/${USER}/Downloads/My Folder"
el motivo de "su uso en su caso es que usa $USER, que requiere una sustitución, pero 'esto no ocurriría).

Una pregunta secundaria es cómo vas a utilizar la variable. En su ejemplo... asumiría que eliminó el cd del comando sin embargo... para usar la variable... probablemente también debería usar " en torno a su uso

entonces... supongo que tu uso... cd "$FILE_NAME"

información relacionada