Créer un nom d'alias avec un espace

Résolu
Cocofoot03 -  
mamiemando Messages postés 33758 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour, j'ai une petite question toute bête, j'aimerais créer un alias dont le nom comporte un espace mais je sais pas comment m'y prendre.

Merci d'avance

A voir également:

2 réponses

Domy31 Messages postés 288 Date d'inscription   Statut Membre Dernière intervention   142
 

Bonjour Cocofoot03,

alors il y a le pseudo espace en fait c'est un un truc qui apparaît comme une séparation mais est un vrai caractère transparent pour se faire tu utilise le caractère ascii "255" comme il ne fait pas partie de ton clavier pour l'avoir :

je veux écrire "Bon jour" donc je tape "Bon" je maintien la touche Alt appuyé en tapan 255 sur le clavier numérique je lâche Alt et je tape jour

Bon jour = avec espace

Bon jour = avec Alt255

il n'y a pas de différence à la vue.

Voici voila ..

Bon ne jour née = tous avec Alt255

.

N'oublie pas de mettre résolu ...


1
brucine Messages postés 21598 Date d'inscription   Statut Membre Dernière intervention   3 394
 

Bonjour,

Il n'y a pas de "pseudo-espace": il y a l'espace classique (table ASCII de base 32) et l'espace insécable (ASCII 160 ou 255).

Je n'entends pas grand chose à Linux et encore moins à son Shell, ce qui est certain, c'est qu'un nom d'alias ne peut comporter qu'un mot, et il n'est pas acquis que l'espace insécable en transforme deux en un: dans les deux cas, il y a un caractère entre les deux mots.

Pour en rajouter une couche, les combinaisons ASCII évoquées font partie du monde Windows et sont inopérantes sous Linux, je n'y connais pas la combinaison d'accès, donc avant de claironner "résolu"....

Pour revenir à nos moutons, certains prétendent qu'il suffirait de mettre la chaîne entre parenthèses, le consensus est qu'il faut utiliser une fonction au lieu d'un alias.

https://superuser.com/questions/105375/how-to-use-spaces-in-a-bash-alias-name

2
Domy31 Messages postés 288 Date d'inscription   Statut Membre Dernière intervention   142 > brucine Messages postés 21598 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour Brucine,

Désolé mais là je suis sous Ubuntu et ca marche ...

Je vais rajouter que si Alt255 ne fonctionne pas tape Alt0255 ca dépend de ta configuration, mais là je sèche sur le pourquoi ...

Et merci je ne me rappelais pas comment s'appelais cet espace ...

Bon ne jour née > Hi ! HI !

0
mamiemando Messages postés 33758 Date d'inscription   Statut Modérateur Dernière intervention   7 877
 

Bonjour,

Peux-tu préciser pourquoi tu as besoin de faire un alias qui comporte un espace ?

Car comme dit plus haut, il n'est pas possible de définir un alias qui comporte un alias, tu peux juste t'en sortir en définissant une fonction dont le nom coïncide avec le premier mot.

En effet, en bash, l'espace sert à séparer une commande ou une fonction de ses arguments. Introduire un espace dans un nom le rendrait ambigu. Tu ne peux pas nommer un alias avec une chaîne qui comporte des espaces, et tu ne peux pas les échapper.

(mando@silk) (~) $ alias "bon jour"=ls
bash: alias: « bon jour » : nom d'alias non valable

(mando@silk) (~) $ alias "bon\ jour"=ls
bash: alias: « bon\ jour » : nom d'alias non valable

Et un espace insécable n'est pas un espace. C'est un autre caractère, comme le souligne Brucine.

Bonne chance

1