Créer un nom d'alias avec un espace

Résolu/Fermé
Cocofoot03 - 11 oct. 2023 à 09:29
mamiemando Messages postés 33433 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 décembre 2024 - 11 oct. 2023 à 16:10

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 223 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 23 novembre 2024 109
Modifié le 11 oct. 2023 à 09:41

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 18281 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 17 décembre 2024 2 703
11 oct. 2023 à 10:02

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 223 Date d'inscription dimanche 25 janvier 2009 Statut Membre Dernière intervention 23 novembre 2024 109 > brucine Messages postés 18281 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 17 décembre 2024
Modifié le 11 oct. 2023 à 10:13

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 33433 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 décembre 2024 7 809
Modifié le 11 oct. 2023 à 16:11

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