A TAB-billentyű

Az egyik legtöbbet használt gyorsbillentyű a TAB-billentyű, amit érdemes kicsit részletesebben is tárgyalni, mivel ez rengeteg fölösleges gépeléstől mentheti meg a lustább (ez határozottan pozitív tulajdonság) szkriptelőket. A PowerShell TAB-billentyűje annyira sokrétűen használható, hogy akár olyan információforrásként is tekinthetünk rá, ami gyorsan, könnyen elérhető és mindig kéznél van.

A TAB használata nem igazi újdonság, nyilván sokan használták a cmd.exe-be épített változatát, de a PowerShellben számos új képességgel is találkozhatunk. Mi a teendő például, ha át akarunk váltani a C:\Users mappára? Természetesen begépelhetjük a teljes parancsot:

PS C:\> Set-Location "c:\Users"

Nem is olyan sok ez. Akinek mégis, az csak ennyit írjon:

PS C:\> Set-Location c:\U<tab>

Ha a c: meghajtó gyökerében nincs más ’u’ betűvel kezdődő mappa, akkor készen is vagyunk, a shell kiegészítette a parancsot, még az idézőjeleket is begépelte helyettünk. Ha több mappa is kezdődik ’u’-val akkor sincs nagy baj, a TAB-billentyű szorgalmas nyomkodásával előbb-utóbb eljutunk a megfelelő eredményig. Még ez is túl sok? Próbálkozzunk tovább! A PowerShell nemcsak a mappa és fájlneveket, hanem a cmdletek nevét is kitalálja helyettünk:

PS C:\> Set-L<tab> c:\u<tab>

Mi történik vajon, ha csak ezt gépeljük be:

PS C:\> Set-<tab>

Bizony, a TAB-billentyű nyomkodásával végig lépkedünk az összes Set- parancson, így akkor is könnyen kiválaszthatjuk a megfelelőt, ha a pontos név éppen nem jut eszünkbe. A Shift+TAB-bal vissza tudunk lépni az előző találatra, ha túl gyorsan nyomkodva esetleg tovább léptünk, mint kellett volna.

Mi a helyzet a cmdletek paramétereivel? Gépeljük be a következőt:

PS C:\> Get-ChildItem -<tab>

Talán már nem is meglepő, hogy a lehetséges paraméterek listáján is végig lépkedhetünk, hogy a megfelelőt könnyebben kiválaszthassuk közülük.

A paraméterek megadásával kapcsolatban itt említünk meg egy másik lehetőséget is (bár nem kell hozzá TAB). Egyszerűen annyi a teendőnk, hogy egyáltalán nem adunk meg paramétert, mivel ebben az esetben a parancs indítása előtt a PowerShell szép sorban bekéri a kötelező paramétereket:

PS C:\> New-Alias

 

Supply values for the following parameters:

Name: ga

Value: Get-Alias

Hamarosan részletesen megismerkedünk a PowerShell változók rejtelmeivel és az objektumok használatával, most csak egy kis előzetes következik a TAB-billentyű kapcsán. Ha a PowerShell munkamenetben saját változókat definiálunk, a TAB ezek nevének kiegészítésére is képes, amint az alábbi példán látható:

PS C:\> $ezegynagyonhosszunevuvaltozo = 1

PS C:\> $ez<tab>

Ügyes! És mi a helyzet a .NET vagy COM-objektumok tulajdonságaival és metódusaival? A TAB-billentyű ebben az esetben is készségesen segít:

PS C:\> $s = "helló"

PS C:\> $s.<tab>

PS C:\> $excel = new-object -comobject excel.application

PS C:\> $excel.<tab>

Aki még arra is kíváncsi, hogy ezt a sok okosságot mi végzi el helyettünk, adja ki a következő parancsot:

PS C:\> $function:tabexpansion

A képernyőn a PowerShell beépített TabExpansion  nevű függvényének kódja jelenik meg; ez fut le a TAB-billentyű minden egyes leütésekor. A kód most még talán egy kicsit ijesztőnek tűnhet, de hamarosan mindenki folyékonyan fog olvasni PowerShellül. A kód azonban nemcsak olvasgatásra jó, meg is változtathatjuk azt, sőt akár egy teljesen új, saját függvényt is írhatunk a „gyári” darab helyett (a függvényekről később természetesen még lesz szó).



Word To HTML Converter