วิธีใส่วันที่และเวลาให้ปรากฏในเทอร์มินัลเสมอ

พวกเขาบอกว่าภาพมีค่าหนึ่งพันคำนั่นคือเหตุผลว่าทำไมก่อนที่ฉันจะอธิบายอะไรบางอย่างกับคุณฉันจะแสดงให้คุณเห็นว่าผลลัพธ์ของคำสั่งที่ฉันจะใส่ในภายหลังคืออะไร:

terminal_date_time

สังเกตว่าที่มุมขวาบนเราจะเห็นวันในสัปดาห์ (อาทิตย์วันอาทิตย์) เดือน (ธ.ค. ) วันที่ (22) ตลอดจนชั่วโมงนาทีวินาทีและปี

เป็นสิ่งที่อัปเดตตามเวลาจริงกล่าวคือทุกวินาทีที่ข้อมูลได้รับการอัปเดตและจะอยู่ที่มุมขวาบนของเทอร์มินัลเสมอ

นี่เป็นสิ่งที่มีประโยชน์เพราะเราสามารถแก้ไขไฟล์ด้วย nano หรือ vi เราสามารถติดตั้งบริการประเภทใดก็ได้หรือจัดการอะไรก็ได้และเราไม่จำเป็นต้องหยุดสิ่งที่เราทำดำเนินการวันที่ในเทอร์มินัลเพื่อให้ทราบวันที่หรือเวลา ด้วยเคล็ดลับที่ฉันแสดงให้คุณเห็นเราจะจดจำไว้เสมอ

เพื่อให้บรรลุสิ่งนี้ในเทอร์มินัลให้ใส่สิ่งต่อไปนี้:

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

นี่ไม่ใช่คำสั่งหรือคำสั่งธรรมดา ๆ แต่เป็นการรวมกันของพวกเขา ... มาเถอะสคริปต์ก็อาจเป็นได้ การอธิบายมันค่อนข้างซับซ้อน แต่ฉันจะทำให้ดีที่สุด🙂

  • ขณะนอนหลับ 1; ทำ : ซึ่งหมายความว่าทุก ๆ วินาทีต่อไปนี้จะถูกดำเนินการ
  • ทีพุต เอสซี : หมายความว่าตำแหน่งปัจจุบันจะถูกบันทึกนั่นคือตำแหน่งของสิ่งที่จะเกิดขึ้นถัดไปจะถูกบันทึกไว้ไม่จำเป็นต้องระบุอีกครั้งหลังจากนั้น
  • ถ้วย tput 0$ (($ (tput cols) -29)) : สิ่งนี้อาจดูซับซ้อน แต่ก็ไม่ใช่เรื่องยาก โดยทั่วไปนี่คือสิ่งที่บอกตำแหน่งนั่นคือมุมขวาบน พารามิเตอร์ cup ระบุช่องว่างแนวตั้งที่จะมีอยู่เนื่องจากเราใส่ 0 จึงมีความหมายว่า "ด้านบนด้านบน" เมื่อกำหนดตำแหน่งแนวตั้งแล้วเราจะเห็นตำแหน่งแนวนอนซึ่งได้รับการดูแลโดยส่วนที่เหลือของพารามิเตอร์ซึ่งจะทำให้มันง่ายขึ้น…มันจะคำนวณคอลัมน์ที่มีอยู่และตรวจสอบให้แน่ใจว่ามันอยู่บนขอบด้านขวา หากคุณต้องการเปลี่ยนหมายเลข 29 สำหรับคนอื่น ๆ และคุณจะสังเกตเห็นความแตกต่าง
  • ข้อมูล : นี่เป็นเรื่องง่ายวันที่แสดงข้อมูลที่เราเห็น ... วันเดือนชั่วโมง ฯลฯ
  • tput rc : พวกเขาเป็น tput sc ที่เราบันทึกตำแหน่งตอนนี้ด้วย tput rc เรากู้คืนได้
  • ทำ : ที่นี่เราทำทุกอย่างเสร็จแล้วสิ่งที่เราเริ่มต้นในขณะนี้

อย่างที่คุณเห็นเทอร์มินัลเป็นพื้นที่ที่ยอดเยี่ยมอย่างไม่ต้องสงสัยหากคำสั่งไม่ทำตามที่เราต้องการ ... เราสามารถเข้าร่วมหลาย ๆ คำสั่งและบรรลุสิ่งที่เราต้องการได้ เห็นแต่ละคำสั่งเป็นเครื่องมือเครื่องมือ (ค้อน) ไม่สามารถทำให้เราเป็นรูปปั้นที่สวยงามได้อย่างไรก็ตามการใช้เครื่องมือนี้ (ค้อน) ร่วมกับผู้อื่น (ไม้และสิ่ว) เราสามารถบรรลุผลแห่งความฝันได้🙂

อ้อ ... ถ้าคุณต้องการให้สิ่งนี้ปรากฏในเทอร์มินัลเสมอโดยไม่ต้องเรียกใช้งานทุกครั้งที่คุณเปิดคอนโซลคุณต้องใส่ไว้ใน. bashrc นั่นคือ:

echo "while sleep 1;do tput sc;tput cup 0 \$((\$(tput cols)-29));date;tput rc;done &" >> $HOME/.bashrc

แล้วก็ หากคุณต้องการลบออกเรียกใช้สิ่งต่อไปนี้:

sed -i "s/while sleep 1/#while sleep 1/" $HOME/.bashrc

ไม่มีอะไรจะเพิ่มเติมฉันหวังว่ามันจะเป็นประโยชน์

ความนับถือ

แข็งแรง

echo "ขณะนอนหลับ 1 ทำ tput sc; tput cup 0 \ $ ((\ $ (tput cols) -29)); วันที่; tput rc; เสร็จแล้ว &" >> $ HOME / .bashrc


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   เกอร์เมน dijo

    ขอบคุณ แต่มันไม่ได้ผลสำหรับฉัน ... ทั้งใน Konsole หรือใน Yakuake ฉันก็ทำทุกอย่างตามที่โพสต์ไว้ 🙁

    1.    เกอร์เมน dijo

      ขอโทษ ... มันเป็นความผิดของฉัน ... ตอนนี้ฉันรีบูตมันได้ผล !!!

      1.    KZKG ^ กาอาระ dijo

        มันแปลกสำหรับฉันที่มันใช้ไม่ได้เพราะในขณะที่ ... วันที่และ tput เป็นคำสั่งจากแพ็คเกจ Bash 😀

  2.   เกอร์เมน dijo

    ฉันไม่รู้ ... มีอะไรแปลก ๆ เกิดขึ้น ... ใส่เครื่องปลายทาง:

    echo "ในขณะที่หลับ 1; ทำ tput sc; tput cup 0 $ (($ (tput cols) -29)); date; tput rc; done &" >> $ HOME / .bashrc

    และผลลัพธ์คือ:

    bash: /home/ghermain/.bashrc: บรรทัด 115: ข้อผิดพลาดทางไวยากรณ์ใกล้องค์ประกอบ `` do 'ที่ไม่คาดคิด
    ทุบตี: /home/ghermain/.bashrc: บรรทัด 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] $ 'ขณะนอนหลับ 1; ทำ tput sc; tput cup 0 64; date; tput rc; เสร็จแล้ว &'

    จากนั้นฉันคัดลอกคำสั่งที่คุณให้ไว้ใน. bashrc โดยตรงในตอนท้ายและฉันได้รับหลายบรรทัดพร้อมวันที่และเวลา

    1.    O_Pixote_O dijo

      ลบบรรทัดทั้งหมดที่คุณใส่ไว้ในไฟล์. bashrc ในวันที่และวางบรรทัดอีกครั้งด้วยตนเองโดยไม่ต้องใช้เสียงสะท้อนว่าหากไม่ให้เกิดข้อผิดพลาด

  3.   กอนซาโล่ dijo

    น่าสนใจมาก!

    1.    KZKG ^ กาอาระ dijo

      ขอบคุณที่อ่าน🙂

  4.   แจ็คเอ็ม dijo

    ฉันมองหาวิธี "ตกแต่ง" เทอร์มินัลที่มีประสิทธิภาพ แต่เจ๋งมานานแล้วและคำสั่งนี้ดีมากไม่พิสดารเหมือนโซลูชันอื่น ๆ แต่เมื่อฉันป้อนคำสั่งที่ยาวก็มีความสับสน คำสั่งกินวันที่จากนั้นวันที่ดูเหมือนจะกินคำสั่ง ไม่มีใครรู้ว่ามีวิธีใดบ้างที่พรอมต์ปรากฏขึ้นหนึ่งบรรทัดโดยค่าเริ่มต้น?
    ยังไงก็ขอบคุณนะ!

  5.   เกรกอริโอ เอสปาดาส dijo

    เคล็ดลับที่ยอดเยี่ยม🙂

    1.    KZKG ^ กาอาระ dijo

      ขอบคุณครับ😀

  6.   ออสการ์ dijo

    ขอบคุณสำหรับคำแนะนำเพื่อนมันทำงานได้อย่างถูกต้อง ความนับถือ.

    1.    KZKG ^ กาอาระ dijo

      ขอบคุณที่อ่านเรา🙂

  7.   ทรูโกะ 22 dijo

    เยี่ยมมาก😀
    หรือคุณสามารถสร้างนามแฝงและใช้เมื่อจำเป็น😀

  8.   เจมส์_เช dijo

    น่าสนใจฉันจะลองในภายหลัง

  9.   จอห์น dijo

    ที่ดีมาก

  10.   แจมินซามูเอล dijo

    คุณช่วยโพสต์อธิบายวิธีการติดตั้ง zsh ใน Debian / Ubuntu / Mint / Elementary และวิธีกำหนดค่าธีมได้ไหม

    1.    KZKG ^ กาอาระ dijo

      เอ่อฉันไม่เคยใช้ zsh ขอโทษ🙁

  11.   O_Pixote_O dijo

    KZKG ^ Gaara เมื่อคุณทำคำสั่งมันจะทำให้เกิดข้อผิดพลาดเพราะฉันคิดว่ามันพยายามที่จะรับรู้ $ ที่ไม่มีค่าเพื่อที่จะไม่ตีความมันทำให้พวกมัน \ ได้รับการแก้ไข

    echo "while sleep 1;do tput sc;tput cup 0 \$((\$(tput cols)-29));date;tput rc;done &" >> $HOME/.bashrc

    ฉันเดาว่าวิธีนั้นจะไม่มีปัญหาแก้ไขก่อนที่ฉันจะให้ใครผิดพลาด โพสต์ดีฉันจะใช้มัน ความนับถือ.

    1.    KZKG ^ กาอาระ dijo

      ถูกต้องความผิดพลาดของฉัน😀
      ฉันแก้ไขในโพสต์แล้วขอบคุณมากสำหรับการแก้ไข🙂

  12.   เจวีเค85321 dijo

    ฉันแก้ไขมันทิ้งไว้อย่างนั้น

    ขณะนอนหลับ 1; ทำ tput sc; tput cup 0 $ (($ (tput cols) -16)); วันที่ + »% R% d /% m /% Y »; tput rc; เสร็จแล้ว &

    แสดงเฉพาะชั่วโมง: นาทีวันที่ในรูปแบบ DD / MM / YYYY

  13.   Danyel dijo

    เพื่อนที่ดีฉันทำงาน 100 ขอบคุณ