Por lo general, cuando encuentro un comando que quiero alias, lo hago eco en mi .bashrc así:
[up button pressed to last command, then line edited so that it reads]
$echo "command-i-just-did" >> ~/.bashrc
Puede haber una mejor manera de hacer esto. Pero de todos modos, justo ahora sobrescribí todo el archivo .rc usando un solo galón. Sin embargo, dado que .bashrc todavía está actualizado, todavía acepta mis antiguos alias (por ahora, por supuesto). Entonces, ¿hay alguna manera de recuperarlo?
bash
data-recovery
bashrc
ixtmixilix
fuente
fuente

echo "set -o noclobber" > ~/.bashrc(recuerde agregar un segundo soporte angular).bashrctenía alguna lógica que dependiera de variables locales como host, usuario, etc., eso probablemente no se pueda recuperar. La verdadera respuesta es restaurar desde su copia de seguridad más reciente. Tienes una copia de seguridad reciente ¿verdad?Respuestas:
aliassin parámetro genera las definiciones de los alias definidos actualmente.declare -fDa salida a las definiciones de las funciones definidas actualmente.export -pgenera las definiciones de las variables definidas actualmente.Todos esos comandos generan definiciones listas para ser reutilizadas, puede redirigir sus salidas directamente a una nueva
~/.bashrc.Todas las listas contendrán muchos elementos definidos en otra parte, por ejemplo
/etc/profiley/etc/bash_completion. Por lo tanto, tendrá que limpiar la lista manualmente.fuente
.bashrcpara su sistema. En Debian está dentro/etc/skel, o puede crear un nuevo usuario, si puede, para obtener un nuevo.bashrc.setydeclare(sin argumentos) mostrar todo esto a la vez.typeset -f > .bashrcdebería hacerlo, proporcionando todo lo que tenía eran alias.fuente
functionscomando no existe para mí4.2.10(2)-release. Probablemente te refieresdeclare -f.