Tak jsem hloupě nechtěně zničil ~/.bashrc. Pokud mám otevřené terminály s nastavením, které tam bylo předtím, existuje způsob, jak exportovat aktuální nastavení zpět do nového .bashrc? (Zkoušel jsem set > ~/.bashrc
z jednoho z uvedených terminálů s určitou mírou úspěchu, ale zajímalo by mě, jestli existuje nějaký kouzelnější způsob.)
Přijatá odpověď:
Jedna věc, kterou můžete zkusit, je obnovit váš .bashrc
z paměti běžící instance bash. V systému Linux spusťte gcore PID
k vytvoření výpisu paměti procesu určeného jeho PID. Zda to má šanci fungovat, závisí na tom, jak bash spravuje svou paměť; Nezkontroloval jsem zdrojový kód, abych zjistil, zda je to vůbec možné. Na Debianu jessie amd64 mi to nefunguje.
Pokud to nepomůže, můžete uložit své aktuální nastavení, ale nemůžete obnovit způsob, jakým byly nastaveny, takže bude ztraceno mnoho informací. Pokud jste měli konfiguraci, která závisí na počítači, typu terminálu atd., obnovíte pouze nastavení pro všechny instance bash, které stále běží.
-
Vytiskněte všechny proměnné ve formě, kterou lze zpětně číst. To zahrnuje spoustu hluku, který budete muset vyřešit. Proměnné prostředí (označené
declare -x
) by neměl být definován ve vašem.bashrc
ale možná jsi to stejně udělal. Odstraňte proměnné, které bash nastavuje automaticky (podívejte se do manuálu a podívejte se na výstupdeclare -p
vbash --norc
).declare -p
-
Vytiskněte si všechny funkce. To zahrnuje funkce, které jste nedefinovali, například funkce definované systémem dokončení (pro které chcete
. /etc/bash_completion
místo).declare -f
-
Vytiskněte aliasy. Pravděpodobně je lze použít tak, jak jsou.
alias
-
Vytiskněte možnosti shellu. Porovnejte s výstupem
shopt
vbash --norc
abyste viděli, co jste změnili.shopt
-
Vytiskněte si nastavení dokončení (pokud používáte kontextový systém vyplňování). Většina z nich pravděpodobně pochází z dokončovacího systému; najít ty, které jste vyladili, může být trochu obtížné.
complete
-
Vytiskněte si klávesové zkratky, pokud jste definovali klávesové zkratky v
.bashrc
spíše než v.inputrc
. To zahrnuje výchozí vazby.bind -p
Od této chvíle zálohujte všechny své soubory a přenechejte konfigurační soubory kontrole verzí.
Související:Linux – nelze stáhnout metadata úložiště EPEL?