Portál AbcLinuxu, 1. května 2025 04:49
Zajímalo by mne, jak by se Vám líbilo následující vylepšení BASHe. Jedná se o zabudování kontextové historie příkazové řádky přístupné pomocí kláves CTRL+Up/Down.
Kontextová historie by ukládala do souboru ~/.bash_chistory konverzaci na příkazové řádce spolu s informací o aktuálním adresáři. Pomocí CTRL+Up/Down byste poté měli možnost přístupu k historii aktuálního adresáře. Neboli polopatě, tato historie by obsahovala minulé příkazy provedené v aktuálním adresáři. Pokud by v aktuálním adresáři existoval soubor .bash_chistory, kontextová historie by se ukládala do něj a získávala z něj (stačilo by touch .bash_chistory - viz. bod 3). Našel jsem následující výhody:
Tiskni
Sdílej:
mount /media/floppyProste by to byl seznam mnou definovanych (casto pouzivanych) prikazu. Aliasy jsou hezke, ale tohle mi prijde cistci.
Aliasy jsou hezke, ale tohle mi prijde cistci.Čistčí? Takže místo
alias foo="nejaky-dlouhy-prikaz-se-spoustou-parametru"
ve startovacím skriptu, budu hledat něco v kontextové historii? Toto mi nijak čisté nepřipadá. Na všechno, co potřebuji mám aliasy, funkce a skripty. To má výhodu v tom, že je to spolehlivě uložené a neztratí se to, jako v případě historie příkazů.
Ale je možné, že to někomu přijde užitečné, já asi málo pracuji s historií.
{ sed -e 's/^[[:space:]]\+//' -e 's/[[:space:]]\+$//' $HISTFILE \ | egrep --invert-match --no-messages --file $FFILE; } \ | sort --unique >$HFILE-new if [ -s $HFILE-new ]; then sort --merge --unique $HFILE $HFILE-new >$LIBDIR/history~ mv -f $LIBDIR/history~ $LIBDIR/history rm -f $HFILE-new fiVýhoda je, že ta historie je globální. Je tam všechno, co jsem kdy spustil, v jakémkoli adresáři. I tak je pro mě ale stále ještě málo globální, chtěl bych to sdílet i mezi počítači, ale to je bez bezpečnostních problémů obtížné. Hledat v ní interaktivně by bylo dost nepraktické, protože z příkazů, které jsem spustil před dvěma lety, si toho moc nepamatuji, takže v ní grepuji. Abych to shrnul, historie se vrší na jednu bordelhromadu, a to je na tom právě to báječné ;-)
history | grep ...
tj. úplně stejně jako v té globální. Ctrl-R a šipky používám, ale jen, když to má smysl.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.