HISTCONTROL=ignorespace

Címkék

Szereted-e, hogy ha a shelled kihagyja a history-ból a space-szel kezdődő parancsokat?

PS: a címben a bash megoldást említettem, de bármilyen más shell azonos feature-ére érvényes a kérdés

tök jó, szeretem, használom
26% (110 szavazat)
nem is érdekel, de nem is zavar
15% (63 szavazat)
inkább zavaró, de hagyom
8% (33 szavazat)
zavar, már kikapcsoltam/ahol lehet kikapcsolom
2% (9 szavazat)
tök jó lenne, de az én shellem nem tudja
1% (6 szavazat)
az miaz? (sose hallottam még erről)
46% (197 szavazat)
nem igazán használok parancssort
3% (11 szavazat)
Összes szavazat: 429

Hozzászólások

Nem igazan teszek space-t a parancsok ele, de valojaban szeretem ha minden megmarad. Ugyanakkor azt viszont nem ertem hogy az `ignoredups` az miert nem alapertelmezett :)

Erre mar korabban is volt mukodo trukk. Kiadsz egy parancsot, utana visszakeresed a parancsot (felnyil) es kitorlod majd nem utsz entert(!) hanem "visszamesz" (lenyil) es kiadsz olyan parancsot amit akarsz. A bash kilepeskor menti a history-t, de akkor mar a parancs nem lesz ott.

Persze, csak en nem szeretem az ignorespace-t, mert sokkal tobbszor copy&paste-elek parancsot (veletlenul olyakor space-szel egyutt), mint ahanyszor el kell tuntetnem valamit a history-bol... Meg egyebkent nem annyira bonyolult mint amennyire hangzik. Es mukodik akkor is ha utolag josz ra, hogy azt a parancsot nem szeretned a history-ban...

Szerkesztve: 2022. 07. 30., szo – 11:20

Nekem nagyon hasznosnak bionyult. Pl. van egy program, ahol úgy tudom elkerülni, hogy minden műveletnél (=minden parancsnál) meg kelljen adnom egy jelszót, hogy csinálok egy `export FOO_PASSPHRASE=verysecretdontlookhere`-t.  Ezt viszont nyilván nem szeretném a históriámban látni, úgyhogy megy az `export` elé a szóköz. (A végén pedig `<space>unset -v FOO_PASSPHRASE`.) Hasonlóan van pár rsync parancs, amit gyakran adok ki, hogy állományokat mentsek vagy állítsak vissza, ill. hogy könyvtárfákat szinkronizáljak. Azonban korábbi hibáimat elkerülendő, rsync-parancsot bőbeszédű módban adok ki, és először teszek a legvégére egy `-n`-t (= --dry-run). Minden rsyncelés előtt elöször kiadom az `-n`-es változatot, megnézem, hogy az történne-e, amit szeretnék, és ha igen, akkor: felfelé nyíl, C^a, szóköz, C^e, C^w, enter. Azaz: legutolsó parancs betöltése, sor elejére ugrás, szóköz beillesztése, sor végére ugrás, utolsó szó (itt: `-n`) levágása, parancs végrehajtása. Így a históriámban csak "száraz" rsyncek laknak. Köszönöm, HISTCONTROL=ignoreboth ! :D

A history-ban nem lesz benne de a ps kimenetében igen. Ez saját gépen még elmegy, de egy "közös" szerveren már lehet problémás, főleg ha sokáig fut a parancs.

~ $ # csak hogy látszódjon, hogy mi van benne
~ $ secret="foobar"
~ $ cat - $secret

Másik terminálon:

~ $ ps fax | grep [c]at  
8702 pts/3    S+     0:00              |   |   |   \_ cat - foobar

 

#maistanultamvalamit

I hate those Smurfs!

régebben copy-paste alkalmával belefutottam, hogy nem volt ott a historymban. ezután kinyomoztam miért. most már tudatosan használom

4 és fél éve csak vim-et használok. elsősorban azért, mert még nem jöttem rá, hogy kell kilépni belőle.

Ez fura, hogy többen belefutottatok, van, aki kikapcsolta. Elvileg ennek default nem kéne bekapcsolva lennie, default-on itt a shell upstream/dev default-ját értem, tehát a fejlesztői alapértelmezést, ami akkor lép életbe, ha nincs módosítva a kódbázis, nincs speciális fordítási kapcsoló alkalmazva és nincs shellrc, ami felülbírálja. Gondolom egyes disztrók kapcsolják be az rj-jükben. Ez pont az egyik hátránya a user helyett gondolkodó, bekapcsolunk mindent, úgyse érdekel senkit hogy működik elvű disztrók hozzáállásának, és ha valami fura történik, az ember csak nyomozhat, hogy mi lehet az oka.

The world runs on Excel spreadsheets. (Dylan Beattie)

Szerkesztve: 2022. 07. 30., szo – 22:37

Nálam általában Bash megy, ritkán zsh. Egyikben sem használom ezt a feature-t, pedig ezek tudnák, elég hasznos lehet egyes esetekben, megértem, aki szereti. Szigorúbban POSIX kompatibilis shellekben nem szokott lenni ilyen, bár valami okossággal ott is pótolható, pl. shell indulása előtt a history fájlból kiszűrni ezeket a szóközzel kezdődő sorokat.

Szerk.: egyébként pont ezt szeretem a unixlike világban. Ezeket az apró, hasznos, hatékonysági feature-öket, sokat enni nem kérnek, könnyen implementálhatók, de egyes esetekben rettenet hasznosak. Ez az apró szegmens, amit a mainstream fizetős OS-ek, meg a webmániás soydevek hanyagolnak, inkább a virtualizációs-konténerizációs, DRM-es, felhasználót lekorlátozós, webbloatos, electronos hülyeségeiket tolják, mintha az megváltaná a világot.

The world runs on Excel spreadsheets. (Dylan Beattie)

Szerkesztve: 2022. 07. 31., v – 09:09

En szeretnem hasznalni, de security okokbol mindent is rogzitunk. Tudom, a history nem security, ez inkabb csak kenyelmi dolog, ha vissza kell keresni valamit, de azert nem adjuk meg olyan konnyen a parancs elrejtesenek a lehetoseget. (van mas ket vedvonal ami rogzit mindent is)

En akkor szeretnem, amikor probalkozom, irom a csatakigyot, benne grep, cut, awk, miegymas, es nezem, hogy mit hoz ki, es tuningolom, javitgatom a parametereket, mig pontosan azt nem csinalja, amit szeretnek.

Ilyenkor hulyen nez ki a benazas a historyban, kicsit szegyenkezek is miatta. Ezt usznam meg, ha csak a tokeletes parancs maradna benne.

Jó, de a saját gépeden ez nehogy már probléma legyen, hogy kapitális biztonsági kérdés legyen egy shell history is. Ha szükséged van rá, kapcsold be. A rendszered most nem ettől lesz kevésbé biztonságos. Aki komolyan támadja a rendszered, az úgyse a shellbe fog gépelgetni, hanem scripteket fog futtatni, de már az is régen rossz, ha be tudott jelentkezni a gépbe.

Illetve én nem szégyenkeznék a bénázás miatt, nekem is van, hogy egy összetett parancs, vagy egy felparaméterezés 5-15 nekifutás után megy csak. Tényleg nem néz ki jól a historyban, de nem szégyen, inkább csak az áttekinthetőséget nehezíti egy későbbi parancs-visszahívásnál.

The world runs on Excel spreadsheets. (Dylan Beattie)