Comment puis-je ajouter un chemin d'accès avec espace dans une variable bash dans .bashrc? caractère\il n'a pas aidé
games=/run/media/mohamedRadwan/games\ moves # this doesn't work
games='/run/media/mohamedRadwan/games moves' # or this
games="/run/media/mohamedRadwan/games moves" # or this
... quand je cours:
mount $games
... il génère une erreur indiquant qu'il essaye seulement de monter /run/media/mohamedRadwan/games
... mais quand je lance echo $games
, il affiche la valeur complète, /run/media/mohamedRadwan/games moves
comment je peux résoudre ça?
mount /dev/sda9 "$games"
Comme mentionné, citez toujours les déréférences variables. Sinon, le shell confond les espaces de la valeur de la variable en tant qu'espaces séparant plusieurs valeurs.
Lorsque la variable contient des espaces, son expansion et ensuite la division de Word entraîne de nombreux arguments, la commande echo affiche tous les arguments, mais un autre programme ou une autre fonction peut gérer les arguments d'une autre manière.
La variable environnante avec des guillemets doubles empêchera les arguments d'être divisés
printf "'%s'\n" $games
printf "'%s'\n" "$games"