Rechercher : dans
Par :

Caractère espace sous linux

Dernière réponse le 15 mai 2008 à 12:00:37 0ac31m, le 15 mai 2008 à 10:38:30 
 Signaler ce message aux modérateurs

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 !

Meilleures réponses pour « caractère espace sous linux » dans :

1

KuKrApOk59, le 15 mai 2008 à 10:42:37
  • +2

Exemple pour un repertoire qui s'apellerait Mon repertoire ?
Pour l'ouvrir :

$ cd Mon\ repertoire
devrait faire l'affaire ... Si vous avez votre réponse, pensez à spécifier : [Résolu]

Répondre à KuKrApOk59

2

JR des cavernes, le 15 mai 2008 à 10:46:03

Il me semble que cd "Mon repertoire" marche aussi...

Répondre à JR des cavernes

3

Grunt, le 15 mai 2008 à 11:09:45

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.

Répondre à Grunt

4

lami20j, le 15 mai 2008 à 11:19:48

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:~#


106485010510997108

Répondre à lami20j

5

Grunt, le 15 mai 2008 à 11:54:07

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 "

Répondre à Grunt

6

 lami20j, le 15 mai 2008 à 12:00:37

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

Répondre à lami20j
A voir également
Plus