Bir resim bin kelimeye bedeldir derler, bu yüzden size bir şeyi açıklamadan önce, daha sonra koyacağım komutun sonucunun ne olduğunu size göstereceğim:
Sağ üst köşede haftanın gününü (Paz, Pazar), ayı (Aralık), günü (22) ve saat, dakika, saniye ve yılı nasıl gördüğümüze dikkat edin.
Gerçek zamanlı olarak güncellenen bir şeydir, yani bu bilgiler her saniye güncellenir ve her zaman terminalin sağ üst köşesinde olacaktır.
Bu yararlı bir şey çünkü nano veya vi ile bir dosyayı düzenliyor olabiliriz, herhangi bir tür hizmeti kuruyor veya her ne varsa yönetiyor olabiliriz ve yaptığımız işi durdurmamıza, tarihi bilmek için terminalde date çalıştırmamıza gerek kalmayacak veya Size gösterdiğim bu tüyoyla her zaman aklımızda tutacağız.
Bunu bir terminalde başarmak için aşağıdakileri koyalım:
while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-29));date;tput rc;done &
Bu aslında basit bir komut veya talimat değil, daha ziyade bunların birleşimi… hadi ama, bir senaryo da olabilir. Açıklaması biraz karmaşık ama elimden geleni yapacağım :)
- uyurken 1;yap : Bu, her saniyede bir aşağıdakilerin yürütüleceği anlamına gelir
- tput sc : Mevcut konumun kaydedileceği yani bir sonraki konumun kaydedileceği anlamına gelir, bir kez daha belirtmenize gerek kalmayacaktır.
- tput fincan 0$(($(tput sütunları)-29)) : Bu karmaşık görünebilir ancak o kadar da zor değil. Temelde pozisyonun söylediği şey bu, yani sağ üst köşe. Cup parametresi oluşacak dikey alanı belirtir, 0 koyduğumuz için "hemen yukarıda, en üstte" anlamına gelir. Dikey konum tanımlandıktan sonra, geri kalan parametreler tarafından dikkate alınan, basitçe ifade etmek gerekirse... mevcut sütunları hesaplayan ve sağ kenarda olduğundan emin olan yatay konumu görmemiz gerekir. . Dilerseniz 29 sayısını başkaları için değiştirin, farkı göreceksiniz.
- tarih : Aslında bu çok basit, tarih bize gördüğümüz bilgileri gösterir... gün, ay, saat vb.
- tput rc : Bunlar tput sc ile konumu kaydediyoruz, şimdi tput rc ile onu geri yüklüyoruz.
- yapılmış : Burada başladığımız her şeyi bitiriyoruz.
Gördüğünüz gibi terminal şüphesiz harika bir alan, eğer bir komut tam olarak istediğimizi yapmıyorsa... birkaç tanesine katılarak istediğimizi elde edebiliriz. Her komutu bir alet olarak görün, bir alet (çekiç) bizi güzel bir heykel yapamaz ancak bu aleti (çekiç) diğerleriyle (tahta ve keski) birleştirerek hayal ettiğimiz sonuca ulaşabiliriz :)
Ah, bu arada... eğer bunun, konsolu her açtığınızda çalıştırmanıza gerek kalmadan terminalde her zaman görünmesini istiyorsanız, onu .bashrc'ye koymalısınız, yani:
echo "while sleep 1;do tput sc;tput cup 0 \$((\$(tput cols)-29));date;tput rc;done &" >> $HOME/.bashrc
O zaman eğer onu kaldırmak istiyorsan, aşağıdakileri yürütün:
sed -i "s/while sleep 1/#while sleep 1/" $HOME/.bashrc
Neyse, ekleyecek başka bir şey yok, umarım işinize yaramıştır.
selamlar
güçlü
echo «uykudayken 1;tput sc yap;tput cup 0 \$((\$(tput cols)-29));date;tput rc;done &» >> $HOME/.bashrc
Teşekkürler ama bende işe yaramıyor... Ne Konsole'de ne de Yakuake'de her şeyi yazıdaki gibi yapmadım. 🙁
Üzgünüm... benim hatamdı... şimdi yeniden başlattığımda ÇALIŞIYOR!!!
Zaten işe yaramaması bana tuhaf geldi, çünkü while... date ve tput Bash paketindeki komutlardır 😀
Bilmiyorum... tuhaf bir şey oldu... terminalde:
echo «uykudayken 1;tput sc yap;tput cup 0 $(($(tput cols)-29));date;tput rc;done &» >> $HOME/.bashrc
Ve sonuç şuydu:
bash: /home/ghermain/.bashrc: satır 115: beklenmeyen 'do' öğesinin yakınında sözdizimi hatası
bash: /home/ghermain/.bashrc: satır 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]$ 'uykudayken 1;do tput sc;tput cup 0 64;date;tput rc;done &'
Daha sonra verdiğiniz komutları doğrudan sondaki .bashrc dosyasına kopyaladım ve tarih ve saatin olduğu birkaç satır aldım.
.bashrc dosyasına tarihle ilgili koyduğunuz tüm satırları silin ve satırı echo kullanmadan manuel olarak tekrar koyun, aksi halde hata veriyor
Çok ilginç!
Okuduğunuz için teşekkürler 🙂
Bir süredir verimli ama soğuk terminali "dekore etmenin" yollarını arıyorum ve bu komut çok iyi, diğer çözümler kadar barok değil, ancak uzun bir komut girdiğimde bazı karışıklıklar oluyor. Komut tarihi yer ve ardından tarih komutu yer gibi görünür. İstemin varsayılan olarak bir satır aşağıda görünmesinin bir yolu olup olmadığını bilen var mı?
Neyse, teşekkür ederim!
Mükemmel ipucu 🙂
Teşekkürler kardeşim 😀
İpucu için teşekkürler arkadaşım, düzgün çalışıyor. Selamlar.
Bizi okuduğunuz için teşekkür ederiz 🙂
Harika 😀
Veya bir takma ad oluşturup gerektiğinde kullanabilirsiniz 😀
İlginç, daha sonra deneyeceğim
Çok iyi
Debian/Ubuntu/Mint/Elementary'de zsh'nin nasıl kurulacağını ve temaların nasıl yapılandırılacağını açıklayan bir yazı hazırlayabilir misiniz?
Ah, hiç zsh kullanmadım, üzgünüm 🙁
KZKG^Gaara komutu uyguladığınızda hata veriyor çünkü sanırım değeri olmayan $'ları tanımaya çalışıyor, böylece onları yorumlamıyor, içlerine \ koyarak sorunu düzeltiyor.
echo "while sleep 1;do tput sc;tput cup 0 \$((\$(tput cols)-29));date;tput rc;done &" >> $HOME/.bashrc
Sanırım sorun olmaz, birilerine hata vermeden düzeltin. Güzel yazı, kullanacağım. Selamlar.
Ah doğru, benim hatam 😀
Yazıda düzeltmiştim zaten, düzeltme için çok teşekkür ederim 🙂
Bunu değiştirdim ve bu şekilde bıraktım
uyku 1 iken;tput sc yap;tput cup 0 $(($(tput cols)-16));tarih +»%R %d/%m/%Y»;tput rc;tamam &
Yalnızca Saat:Dakika Tarihini GG/AA/YYYY formatında görüntüler
Mükemmel arkadaşım, işime 100 işe yaradı, teşekkürler