Menu

22 augustus 2012

Terminal: Een commando herhalen en/of aanpassen

Wanneer je vaak gebruik maakt van OS X Terminal dan weet je dat een typefout snel is gemaakt. Het grote probleem hiervan is dat de commando’s context gevoelig zijn en hierdoor niet kunnen worden uitgevoerd. Het maken van een dergelijk fout is vooral vervelend op het moment dat je een uitgebreid commando wilt uitvoeren.

Met behulp van een klein trucje is heel simpel om laatst ingegeven commando uit te voeren en eventueel aan te passen. Wanneer je namelijk !! gebruikt in OS X Terminal dan zal het laatste commando worden herhaald. Door ‘gs’ toe te voegen kun je zelfs een bepaalde tekenreeks in het commando aanpassen.

Als je bijvoorbeeld naar de map /Library/LaunchDaemons wilt gaan en hierbij een typefout maakt zoals:

cd /Lirbary/LaunchDaemons/

Dan kun je ‘Lirbary’ eenvoudig corrigeren met:

!!:gs/irb/ibr

Het laatste commando zal worden herhaald en de tekenreeks ‘irb’ (Lirbary) zal worden gewijzig in ‘ibr’ (Library).

Je kunt de bovenstaande natuurlijk ook gebruik maken om bepaalde commando’s weer ongedaan te maken. Met het onderstaande commando activeer je de weergave van verborgen bestanden in finder

defaults write com.apple.finder AppleShowAllFiles TRUE; killall Finder

Door gebruik te maken van !!:gs kun je deze aanpassing weer eenvoudig ongedaan maken met:

!!:gs/TRUE/FALSE

Mocht je een commando willen uitvoeren met behulp van root rechten dan kun je zonder problemen sudo voorafgaand aan het commando toevoegen.

De !!:gs is een handige combinatie die je een hoop type werk kan besparen, onthouden dus…




Gerelateerde tips:




Reacties


  • Marcel Kraan 22 augustus 2012 om 9:54

    Dat is toch het history commando? ! dus !:gs is een regex.
    grappig wist ik niet…

    op deze site zou je een plugin moeten installeren zodat ik volgop email krijg van deze post.

  • Zomer 22 augustus 2012 om 16:40

    Kan aan mij liggen maar met pijltje omhoog krijg ik gewoon de vorige command te zien hoor.

  • Wouter 22 augustus 2012 om 19:08

    klein foutje in artikel:

    cd \Lirbary\LaunchDaemons\

    moet zijn

    cd /Lirbary/LaunchDaemons/

  • Nils Breunese 4 september 2012 om 18:34

    Je kunt ook ‘fc’ (Fix Command) gebruiken om het laatst uitgevoerde commando te bewerken m.b.v. $FCEDIT.

Een reactie toevoegen: