Mettre un espace au nom des fichiers bash

Fermé
xunil2003 Messages postés 761 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 24 mars 2024 - Modifié par xunil2003 le 19/08/2012 à 13:14
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 19 août 2012 à 20:02
Bonjour,

J'ai créer des scripts bash et j'ai ajouté le chemin dans $PATH afin de simplifier l'usage.
Les fichiers sont nommés
d14-on  
d14-off  
minuterie-f3  
e1-bri-15  
e1-dim-15


J''ai dû mettre un tiré entre les espace dans le nom du fichier pour éviter que l'utilisateur mette un slash entre les espace.

Ma question est y a t'il un moyen pour que l'utilisateur puisse taper la commande avec un espace dans le nom du fichier sans tiré ou slash , comme ceci ?
d14 on  
d14 off  
minuterie f3  
e1 bri 15  
e1 dim 15
et que celui ci fonctionne en ligne de commande.

Merci.

3 réponses

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
19 août 2012 à 20:02
C'est un TRES mauvaise pratique de mettre des espaces dans des noms de fichiers. Il n'y en aura jamais dans les fichiers installés par le système.

Cette pratique, courante sous Win$ est évidemment destinée à dégoûter les utilisateurs de toute tentative de script.
Window$ est ne l'oublions pas un infâme clickodrome ne laissant guère de liberté à l'utilisateur.

Sous Unix , utilise de préférence un underscore '_' ou éventuellement un tiret '-'.
Le tiret peut cependant poser des conflite avec les options de certains utilitaires comme grep
1
Utilisateur anonyme
19 août 2012 à 13:10
salut,

tu as deux sripts d14 ? un qui allume quelquechose, l'autre qui éteint la même chose ?
tu devrais n'avoir qu'un script qui prend un paramètre.
pareil pour les autres.

sinon, les espaces dans les noms de fichiers c'est la plaie ! autant éviter.
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
19 août 2012 à 15:10
sinon, les espaces dans les noms de fichiers c'est la plaie ! autant éviter
effectivement, sinon utiliser des "
$ ls
d14 on
$ read -p "nom du fichier "
nom du fichier d14 on
$ cat "$REPLY"
hello world
$ 
$ set "d14 on"
$ cat "$1"
hello world
$ 
0