Mettre un espace au nom des fichiers bash

xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   -  
jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   -
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.
A voir également:

3 réponses

jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
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
 
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 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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