Habituellement, lorsque je trouve une commande que je veux alias, je la fais écho à mon .bashrc comme ceci:
[up button pressed to last command, then line edited so that it reads]
$echo "command-i-just-did" >> ~/.bashrc
Il peut y avoir une meilleure façon de procéder. Mais de toute façon, je viens d'écraser tout le fichier .rc en utilisant un seul chevron. Cependant, puisque le .bashrc est toujours à jour, il accepte toujours mes anciens alias (pour l'instant bien sûr). Existe-t-il un moyen de le récupérer?
bash
data-recovery
bashrc
ixtmixilix
la source
la source
echo "set -o noclobber" > ~/.bashrc
(n'oubliez pas d'ajouter un deuxième support d'angle).bashrc
aviez une logique qui dépendait de variables locales telles que l'hôte, l'utilisateur, etc., cela est probablement irrécupérable. La vraie réponse est de restaurer à partir de votre sauvegarde la plus récente. Vous avez un droit de sauvegarde récent?Réponses:
alias
sans paramètre génère les définitions des alias actuellement définis.declare -f
affiche les définitions des fonctions actuellement définies.export -p
renvoie les définitions des variables actuellement définies.Toutes ces définitions de sortie de commandes prêtes à être réutilisées, vous pouvez rediriger leurs sorties directement vers une nouvelle
~/.bashrc
.Toutes les listes contiendront beaucoup d'éléments définis ailleurs, par exemple
/etc/profile
et/etc/bash_completion
. Vous devrez donc nettoyer la liste manuellement.la source
.bashrc
par défaut de votre système. Dans Debian, c'est dans/etc/skel
, ou vous pouvez créer un nouvel utilisateur, si vous le pouvez, pour en obtenir un tout nouveau.bashrc
.set
etdeclare
(sans arguments) afficher tout cela à la fois.typeset -f > .bashrc
devrait le faire, à condition que tout ce que vous aviez soit des alias.la source
functions
commande n'existe pas pour moi4.2.10(2)-release
. Vous voulez probablement diredeclare -f
.