Pravijo, da je slika vredna tisoč besed, zato vam bom, preden vam nekaj razložim, pokazal, kakšen je rezultat ukaza, ki ga bom dal kasneje:
Upoštevajte, kako v zgornjem desnem kotu vidimo dan v tednu (sonce, nedelja), mesec (december), dan (22) ter uro, minuto, drugo in leto.
To je nekaj, kar se posodablja sproti, torej vsako sekundo, ko se informacije posodabljajo in bodo vedno v zgornjem desnem kotu terminala.
To je nekaj koristnega, ker lahko urejamo datoteko z nano ali vi, lahko namestimo katero koli vrsto storitve ali upravljamo, kar koli že je, in nam ne bo treba ustaviti tega, kar počnemo, zagnati datum v terminalu, da bomo poznali datum ali uro S tem nasvetom, ki vam ga pokažem, ga bomo vedno imeli v mislih.
Da bi to dosegli v terminalu, postavimo naslednje:
while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-29));date;tput rc;done &
To kot tako ni preprost ukaz ali navodilo, temveč bolj njihova zveza ... dajte no, skript bi lahko bil tudi. Pojasniti je nekoliko zapleteno, vendar se bom potrudil 🙂
- med spanjem 1; : To pomeni, da se bo vsako sekundo izvedlo naslednje
- tput sc : Pomeni, da se bo trenutni položaj shranil, to pomeni, da se bo shranil položaj naslednjega, potem ga ne bo treba določiti enkrat.
- tput skodelica 0$ (($ (tput cols) -29)) : To se morda zdi zapleteno, vendar ni tako težko. V bistvu tako piše v položaju, torej v zgornjem desnem kotu. Parameter cup določa vertikalni prostor, ki bo obstajal, saj smo postavili 0, kar pomeni "tik nad, na vrhu". Ko je določen navpični položaj, lahko vidimo vodoravni položaj, za katerega poskrbijo ostali parametri, kar poenostavljeno povedano… izračuna obstoječe stolpce in poskrbi, da je točno na desnem robu. Če želite, spremenite številko 29 za druge in opazili boste razliko.
- Datum : No, to je preprosto, datum nam pokaže podatke, ki jih vidimo ... dan, mesec, ura itd.
- tput rc : So tput sc, položaj shranimo, zdaj pa ga s tput rc obnovimo.
- opravljeno : Tu zaključimo vse, kar smo začeli s časom.
Kot lahko vidite, je terminal nedvomno čudovit prostor, če ukaz ne naredi točno tistega, kar si želimo ... lahko se jim pridružimo in dosežemo, kar želimo. Vsak ukaz si oglejte kot orodje, orodje (kladivo) nam ne more narediti čudovitega kipa, vendar lahko s pridružitvijo tega orodja (kladiva) drugim (les in dleto) dosežemo sanjski rezultat 🙂
Oh, mimogrede ... če želite, da se to vedno prikaže v terminalu, ne da bi ga bilo treba izvajati vsakič, ko odprete konzolo, ga morate vstaviti v .bashrc, to je:
echo "while sleep 1;do tput sc;tput cup 0 \$((\$(tput cols)-29));date;tput rc;done &" >> $HOME/.bashrc
Potem če ga želite odstraniti, zaženite naslednje:
sed -i "s/while sleep 1/#while sleep 1/" $HOME/.bashrc
No, nič drugega za dodati, upam, da je bilo koristno
pozdrav
močna
echo "while sleep 1; do tput sc; tput cup 0 \ $ ((\ $ (tput cols) -29)); date; tput rc; done &" >> $ HOME / .bashrc
Hvala, ampak zame ne deluje ... Niti v Konsole niti v Yakuakeju nisem naredil vsega, kot je v prispevku. 🙁
Oprosti ... bila sem kriva ... zdaj, ko sem ponovno zagnala IT WORKS !!!
Bilo mi je nenavadno, da ni delovalo, ker medtem ko sta… datum in tput ukaza iz paketa Bash 😀
Ne vem ... zgodilo se je nekaj čudnega ... dal v terminal:
echo "while sleep 1; do tput sc; tput cup 0 $ (($ (tput cols) -29)); date; tput rc; done &" >> $ HOME / .bashrc
In rezultat je bil:
bash: /home/ghermain/.bashrc: vrstica 115: sintaktična napaka v bližini nepričakovanega elementa `do '
bash: /home/ghermain/.bashrc: vrstica 115: `PS1 = '$ {debian_chroot: + ($ debian_chroot)} [33 [01; 34m] u [33 [01; 32m] @ [33 [01; 32m] h [33 [00m]: [33 [01; 34m] w [33 [00m] $ 'med spanjem 1; do tput sc; tput skodelica 0 64; datum; tput rc; končano &'
Nato sem ukaze, ki jih podate, na koncu neposredno kopiral v .bashrc in dobim več vrstic z datumom in uro.
Izbrišite vse vrstice, ki ste jih v datoteko .bashrc vnesli na datum, in jih znova ročno vstavite, ne da bi uporabili odmev.
Zelo zanimivo!
Hvala za branje 🙂
Že dolgo iščem načine, kako "okrasiti" kul, a učinkovit terminal, in ta ukaz je zelo dober, ni tako barok kot druge rešitve, a ko vnesem dolg ukaz, nastane nekaj zmede. Ukaz poje datum, nato pa se zdi, da datum poje ukaz. Ali kdo ve, ali obstaja poziv, da se poziv privzeto prikaže eno vrstico nižje?
Kakorkoli, hvala!
Odličen namig 🙂
Hvala bratec 😀
Hvala za nasvet prijatelj, deluje pravilno. S spoštovanjem.
Hvala, ker ste nas prebrali 🙂
Super 😀
Lahko pa ustvarite vzdevek in ga po potrebi uporabite 😀
Zanimivo, poskusil bom kasneje
Zelo dobro
Bi lahko objavili prispevek, v katerem bi razložili, kako namestiti zsh v Debian / Ubuntu / Mint / Elementary in kako konfigurirati teme?
Uff, nikoli nisem uporabljal zsh, žal 🙁
KZKG ^ Gaara, ko izvedete ukaz, prikaže napako, ker mislim, da poskuša prepoznati $, ki nimajo vrednosti, tako da jih ne razlaga, dajanje \ je popravljeno.
echo "while sleep 1;do tput sc;tput cup 0 \$((\$(tput cols)-29));date;tput rc;done &" >> $HOME/.bashrc
Mislim, da tako ne bo nobenega problema, odpravite ga, preden komu dam napako. Dober prispevek, ga bom uporabil. S spoštovanjem.
Uf, prav, moja napaka 😀
To že popravim v prispevku, najlepša hvala za popravek 🙂
Spremenil sem ga in pustil tako
med spanjem 1; do tput sc; tput skodelica 0 $ (($ (tput cols) -16)); datum + »% R% d /% m /% Y»; tput rc; dokončano &
Prikaže samo uro: minute datum v obliki DD / MM / LLLL
Odličen prijatelj, delal sem 100 hvala