Dis que j'ai le chemin suivant:
/home/$USER/Downloads/My Folder
J'ai essayé d'assigner le chemin de fichier donné ci-dessus à une variable FILE_NAME
comme suit,
FILE_NAME=/home/$USER/Downloads/My Folder
$FILE_NAME
La sortie était:
bash: /home/$USER/Downloads/My :No such file or directory
Comment résoudre ce problème?
Vous devez utiliser des guillemets si le chemin contient des espaces:
FILE_NAME="/home/$USER/Downloads/My Folder"
Le problème est le blanc incorporé dans le nom. Le moyen le plus simple de résoudre ce problème consiste à inclure la chaîne de chemin d'accès complet entre guillemets (c.-à-d. FILE_NAME="/home/${USER}/Downloads/My Folder"
La raison d'utiliser "
dans votre cas est due à votre utilisation de $ USER qui nécessite une substitution, avec '
ceci ne se produirait pas.
Une question secondaire est de savoir comment allez-vous utiliser la variable. Dans votre exemple ... je suppose que vous avez supprimé le cd de la commande cependant ... pour utiliser la variable ... vous devriez probablement aussi utiliser "autour de son utilisation
alors ... je suppose que vous utilisez ... cd "$ FILE_NAME"