sala@home:~$

tput óra

Az ncurses csomaggal én többnyire akkor találkoztam, amikor karakteres-alapú GUI felületeket használtam. A csomagban azonban van olyan parancs is, amivel a parancssorban is jópofa dolgokat lehet csinálni. A tput a terminál alapvető jellemzőinek lekérdezésére/módosítására képes, többek között a kurzor mozgatására is. Részletes leírás helyett mutatok egy példát. A következő parancs a terminál jobb felső sarkában folyamatosan firssíti a pontos időt:

while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-29));date;tput rc;done &

Kicsit részletesebben:

  • while sleep 1;do ... done &
    

    Ciklusban dolgozunk, másodpercenként egyszer futtatjuk a ciklus belsejét.

  • tput sc ... tput rc
    

    Az elején elmentjük a kurzor pozícióját ( sc = save cursor position ), a végén visszaállítjuk ( rc = restore cursor position )

  • $(($(tput cols)-29))
    

    Lekérdezzük a terminál oszlopainak számát, majd kiszámoljuk, hanyadik oszlop van 29 karakterrel balra

  • tput cup 0 n
    

    A 0. (legfelső) sor előző pontban kiszámolt oszlopához mozgatjuk a kurzort.

  • date
    

    Ez írja ki a pontos időt

Valójában persze nem ncurses találta ki a tput-ot, de a mai Linuxokban ncurses csomagban találjuk tput parancsot.

forrás: http://www.commandlinefu.com/commands/view/7916/put-a-console-clock-in-top-right-corner