Signaler

Caractère espace sous linux [Résolu/Fermé]

Posez votre question 0ac31m - Dernière réponse le 15 mai 2008 à 12:00 par lami20j
Bonjour,

La question est toute simple, mais je n'ai pas trouvé la réponse. Comment intégrer un nom avec des espaces avec une ligne de commande ? Si je mets un bête espace, la commande foire, est-ce qu'il faut utiliser %20 comme sur la page web ?

Exemple : je veux écrire "Mot1 Mot2" dans une ligne de commande. Est-ce que ça devient : Mot1%20Mot2 ?

Merci d'avance !
Utile
+16
plus moins
Exemple pour un repertoire qui s'apellerait Mon repertoire ?
Pour l'ouvrir :
$ cd Mon\ repertoire
devrait faire l'affaire ...
Cette réponse vous a-t-elle aidé ?  
Utile
+4
plus moins
Je confirme les dires de KuKrApOk59: il faut "escaper" l'espace avec un backslash (le caractère '\')
En effet, l'espace fait partie des caractères spéciaux d'une ligne de commande, puisqu'il sépare les paramètres.
Plus généralement, il faut précéder chaque caractère posant problème d'un backslash pour indiquer qu'il faut le prendre comme tel sans l'interpréter dans la commande.
Et le backslash s'escape aussi: si ton dossier s'appelle "foo\bar", tu entres dedans en tapant "cd foo\\bar" pour indiquer que le backslash n'escape rien.

Les guillemets marchent aussi en effet, mais c'est une syntaxe plus.. "Windows". Le backslash est également utilisé en PHP pour introduire un caractère spécial dans une chaîne, c'est donc une bonne habitude à prendre.
Utile
+1
plus moins
Salut,

Les guillemets marchent aussi en effet, mais c'est une syntaxe plus.. "Windows".
Plutôt DOS, Windows n'a pas de syntaxe mais des clic/clac ;-DD

Alors il faut utilser les apostrophes ;-), c'est plus propre et ça evite de taper un backslash avant chaque espace (pour les paresseux, j'en suis un ;-))
Si jamais dans le nom il y un apostrophe alors soit tu utilises les guillemets (on s'en fiche d'où ça viens ;-), soit tu utilises que pour l'apostrophe \'

Exemple :

avec backslash
root@debian:~# mkdir Mon\ repertoire\ de\ musique
root@debian:~# ls -ld Mon\ repertoire\ de\ musique/
drwxr-xr-x 2 root lami20j 4096 2008-05-15 11:17 Mon repertoire de musique/
root@debian:~# rmdir  Mon\ repertoire\ de\ musique/
avec apostrophe
root@debian:~# mkdir 'Mon repertoire de musique'
root@debian:~# ls -ld 'Mon repertoire de musique'
drwxr-xr-x 2 root lami20j 4096 2008-05-15 11:18 Mon repertoire de musique
root@debian:~# rmdir 'Mon repertoire de musique'
root@debian:~# ls -ld 'Mon repertoire de musique'
ls: Mon repertoire de musique: Aucun fichier ou répertoire de ce type
root@debian:~#


Utile
+0
plus moins
Il me semble que cd "Mon repertoire" marche aussi...
Utile
+0
plus moins
remi@serveur:~/demo$ mkdir \ \ essai
remi@serveur:~/demo$ cd " essai"/
remi@serveur:~/demo/ essai$ mkdir \"autre\ essai\"
remi@serveur:~/demo/ essai$ ls
"autre essai"
remi@serveur:~/demo/ essai$ cd \"autre\ essai\"/
remi@serveur:~/demo/ essai/"autre essai"$


On peut toujours s'amuser :+p

" ou \ Ce qui compte c'est que ça marche. les " ou ' ont l'avantage de ne devoir être écrit que deux fois quel que soit le nombre de caractères spéciaux. Alors qu'il faut un backslash par caractère spécial.
Par contre la "tab completion" propose par défaut des backslash (sous MS-DOS elle propose des ")

A noter que le MS-DOS ne prend pas les backslash, seulement les "
lami20j 21514Messages postés jeudi 4 novembre 2004Date d'inscription ModérateurStatut 8 octobre 2012 Dernière intervention - 15 mai 2008 à 12:00
On peut toujours s'amuser :+p
Bien sûr ;-)

Par contre la "tab completion" propose par défaut des backslash
Oui et non.

Pour Mon repertoire de musique
Si je fait ls -ld M et ensuite TAB completion j'obtiens comme tu l'as dit
ls -ld Mon\ repertoire\ de\ musique/
le dernier slash ne fait pas partie de nom

En revanche si je fait
ls -ld 'M et ensuite TAB completion j'obtiens
ls -ld 'Mon repertoire de musique'/
--
106485010510997108

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !