linuksoidų patarimai

Greitas .config failų pasiekimas

2011-05-03, kiras

Nors įvairių programų konfigūraciniai failai sudėti nuspėjamose vietose, prireikus jų kartą per šimtą metų tenka pakrapštyti pakaušį ir prisiminti kur ieškoti. Programų ir jų konfigų pavadinimai nebūtinai sutampa, kad surasti failą tenka pažiūrėti į kelias vietas. Surasti ne problema, bet laikas gaištasi, užgaunama tikro linuksoido savimeilė.

Kad nuslopinti sukilusius nemalonius jausmus, padarykim kad komandinėje eilutėje įrašius „setup programos_pavadinimas“ iškart galėtume redaguoti reikiamą konfigą. Maždaug tokia pati idėja kaip su man puslapiais – nereikia nieko prisiminti, užtenka žinoti programos pavadinimą.

Tokią idėją įgyvendinti paprasta. Pirma, į ~/.bashrc įdedame funkciją setup():


setup() {
  if [ $# = 0 ]
  then
   cat $HOME/.config/list
  else
   komanda=`grep ^$1 $HOME/.config/list | cut -f 2-`
   $komanda
  fi
}

(tikrinam ar įvesti argumentai, jei ne, parodomas list failo turinys, jei argumentas yra, su grep list faile ieškom tos programos, ištraukiam komandą, kuri eina po tabuliacijos ir ją įvykdom)

Antra, sukuriam failą ~/.config/list kuriame bus komandinių eilučių, paleidžiančių konfigo failus, sąrašas. Štai kelios eilutės iš sąrašo:


### progr. pav. ### tabas ### konfigą atidaranti komanda
setup  nano ~/.config/list
bash   nano ~/.bashrc
arch   sudo nano /etc/rc.conf
kde    systemsettings

Pačia pirma eilute pasirūpinu lengvu šio sąrašo pasiekimu (komanda bus: setup setup).

Į kitas eilutes įrašykit dažniausiai redaguojamus konfigus. Jei konsolę naudojat grafinėj aplinkoj, tokiu būdu drąsiai galit paleidinėti grafines programas, pavyzdžiui kaip aš, KDE sistemos nustatymus.

3 komentarai

 

# indiguus, indiguus.net

Geras, šitą reikės pasidaryti. Dėkui!

[]

 

# as

O jei „tikrinam ar įvesti argumentai, jei ne, parodomas list failo turinys” nėra jokio argumento ką daryti ?

[]

 

# kiras,

Turi omenį, kad nėra „list“ failo? Nesivarginau daryti automatinio tikrinimo failas sukurtas ar ne. Tiesiog jį sukuriam rankutėm.

[]