Existe-t-il un moyen de développer des alias en ligne dans bash?
$bash>alias ll='ls -l '
$bash>ll<tab>
$bash>ls -l
Vous pouvez appuyer sur Ctrl- Alt- epour exécuter la fonction readline shell-expand-line
qui effectuera des extensions d’alias, d’historique et de mots. Notez que sur certains claviers Metan'est pas Alt. Vous devrez peut-être appuyer Escalors Ctrl-e
Les fonctions alias-expand-line
et history-and-alias-expand-line
ne sont pas liées par défaut, mais vous pouvez les lier en ajoutant des lignes similaires à celles-ci dans votre ~/.inputrc
fichier.
"\e\C-l": alias-expand-line
ce qui ferait Ctrl- Alt- l(minuscule "ell") effectuer uniquement le développement de pseudonyme.
"\C-i": "\e\C-l\e\e"
qui crée une macro qui exécute à la foisalias-expand-line
etcomplete
. Cela dépend de la liaison de ma réponse ci-dessus et que la liaison par défaut pour Esc-Esc reste en place. Vous pourrez toujours faire Esc-Esc si vous voulez faire l'achèvement par défaut.ESC C-e
travaille pour Bash, maisC-x a
travaille pour Zsh. Également testé sur OS X.Control-x: history-and-alias-expand-line
.Cela pourrait en fait être un moyen beaucoup plus simple de faire ce que vous essayez (
bash
version> = 4.2.29):shopt
Laman
page de: https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.htmlla source
alias ll='ls -l
le shell interpréterait "ll" comme une commande / fonction "ll" qui n'existe probablement pas.Cela ne fonctionne pas. Mais je suppose / espère que quelque chose comme ceci peut être fait pour faire ce que vous voulez faire. Vous devrez utiliser votre propre script d'achèvement. Voici comment vous en faites un:
Maintenant, recherchez le fichier complet bash_completion ( http://caliban.org/bash ) et placez le script mentionné ci-dessus dans un fichier du répertoire bash_completion.d que le script que vous obtenez à partir des références d’URL. Faites-moi savoir si cela ne fonctionne pas.
Merci.
la source
Pour les personnes ayant installé zsh à la recherche d'une solution simple, globalias est peut-être votre ami.
installer simplement ajouter "globalias" à votre liste de plugins .zshrc
la source