Je souhaite insérer dans un alias différentes variantes possibles de l'orthographe, par exemple, la commande cat
name__. Puis-je le faire en utilisant un symbole pour "ou" ou devrait-il être sur une nouvelle ligne?
alias at|cart|cst '/bin/cat'
L'aide de alias
indique qu'il peut attribuer plusieurs alias à la fois:
alias: alias [-p] [name[=value] ... ]
Define or display aliases.
Without arguments, `alias' prints the list of aliases in the reusable
form `alias NAME=VALUE' on standard output.
Otherwise, an alias is defined for each NAME whose VALUE is given.
A trailing space in VALUE causes the next Word to be checked for
alias substitution when the alias is expanded.
Vous pouvez donc utiliser le développement d'accolade pour générer les paires name=value
:
alias {at,cart,cst}='/bin/cat'
Alors:
$ alias {at,cart,cst}='/bin/cat'
$ type at cart cst
at is aliased to `/bin/cat'
cart is aliased to `/bin/cat'
cst is aliased to `/bin/cat'
Cela dit, regardez dans zsh, qui a correction typo intégrée (qui n'aiderait pas at
name__, mais qui aiderait les autres):
% setopt correct % sl zsh: correct `sl' to `ls' [nyae]? y % setopt correctall % ls x.v11r4 zsh: correct `x.v11r4' to `X.V11R4' [nyae]? n /usr/princton/src/x.v11r4 not found % ls /etc/paswd zsh: correct to `/etc/paswd' to `/etc/passwd' [nyae]? y /etc/passwd
Si vous appuyez sur
y
lorsque le shell vous demande si vous souhaitez corriger un mot, celui-ci sera corrigé. Si vous appuyez surn
name__, il sera laissé seul. Si vous appuyez sura
name__, la commande est abandonnée. Si vous appuyez sure
name__, la ligne est modifiée, si vous acceptez que le mot est mal orthographié mais que vous n'aimez pas la correction.
Je ne pense pas que vous puissiez attribuer plusieurs alias à la fois.
Mais vous pouvez parcourir une liste comme celle-ci:
for a in cart xat vat xst cst vst dog; do alias "$a"='/bin/cat'; done
Assurez-vous que les alias ne sont pas déjà utilisés par d'autres programmes (comme at
dans votre exemple).