crimsonthunder: (Default)
Még mindig csak alapvető használati utasítások, kagylóilag. Ma éjjel csak egynéhány kis hasznos akármit van energiám megírni.
A kagylószkriptek is interaktívvá tehetőek, méghozzá nagyon egyszerűen. Megmutatom, hogy most mit ökörködtem.


Azt hiszem, a dolgok nagyjából önmagukért beszélnek, leszámítva a norvég nyelv notórius használatát (tényleg elnézést, hogy kétnyelvű vagyok).

Szokás szerint intellektuálsznobkodtam, hogy szövegszerkesztőt ne is kelljen indítani.

Ez a gyogyi kis kagylószkript csak annyit csinál, hogy megkérdezi, mi a neved.

A read paranccsal itt a "read"-et utasítjuk arra, hogy a kapott választ tárolja el a navn nevű változóba.

Ezután a szkript köszön, és mondja, hogy heló, örvendetes, hogy itt lát. A $ feladatát a változó neve előtt iszonyatos módon "dereferencia operátor"-nak lehet nevezni szakszerűen. Kevésbé szakszerűen elmagyarázva pedig ez mondja meg nekünk - meg a szkriptnek -, hogy ez egy változó, amelynek az értékét kell itt visszhangozni.

Változókat ám önmagukban is beállíthatunk a kagylóban - vannak ennél hasznosabbak is, de példának megfelel. Nagybetűvel írva környezeti változó lesz belőle.

Ha beállítás előtt így beírjuk, hogy readonly, akkor ez a változó már marad is, nem lehet neki új értéket megadni (szemben azzal, hogy egy nem-írásvédett változónak változhat az értéke. Ezt jól megaszondtam, mondom, hogy mindjárt éjfél!); ha mégis megpróbálnád, akkor a kagyló visszabeszél, hogy írásvédett változó.

 

Ja! Változót lehet ám csinálni parancsok kimenetéből is.

Klasszikus példa erre a date lehet.

A szintaktika nem terheli meg még az éjféli agyat sem.

$ TODAY=$(date)

Nem kell félni, ha nem szól semmit erre a kagyló. Szabály szerint nem szól. Szabály szerint csak akkor szól, ha valamivel elégedetlen.

Ezután, ha kíváncsiak vagyunk a pontos időre - vagy pontosabban szólva: a gép szerinti pontos időre -, akkor egyszerűen csak ezt a változót íratjuk ki a megszokott kis echo-nkkal. Tisztára ekhós szekerekké fogunk már itt válni:

$ echo $TODAY
ti. 28. juli 00:01:38 +0200 2020

 

Ennek tükrében, ha a kis köszönőszkriptünkben a read akármilyenváltozó helyébe beírjuk így a whoami parancsot, akkor a felhasználónevünkön fog szólítani.

Érdemes kipróbálni, már csak a hülyeség kedvéért is.

$ cat > koszonjszepen.sh

echo "Heló, $(whoami) !"

 

Ezután ismét Ctrl-D-vel felfüggesztjük a sznobizmust, ezután végrehajthatóvá teszük a kis filénket, ezután pedig

$ ./koszonjszepen.sh

és már köszön is szépen.

Igen, ez tényleg csak hülyeség.

Ego trip

crimsonthunder: (Default)
Crimson Thunder

October 2023

S M T W T F S
1 234567
891011121314
15161718192021
22232425262728
293031    

Site layout

Expand Cut Tags

No cut tags
Page generated Mar. 8th, 2026 08:39 am
Powered by Dreamwidth Studios