วิธีแสดงนาฬิกาที่กำลังรันในเทอร์มินัลก่อนหน้าพรอมต์คำสั่ง


40

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

หากนี่เป็นพรอมต์คำสั่งของฉันในเทอร์มินัล:

saurav@saurav-P4I45Gx-PE:~$

จากนั้นฉันอยากจะเห็นนาฬิกา (เวลา) เป็น:

saurav@saurav-P4I45Gx-PE[06:27:01]:~$

หรือ

saurav@(06:27:01):~$

หรือรูปแบบอื่น ๆ ซึ่ง06:27:01เป็นเวลาที่ สิ่งที่ฉันต้องการคือเพียงแค่แสดงเวลาที่การเปลี่ยนแปลงเมื่อวินาทีผ่านไป

มีวิธีใดบ้างที่จะบรรลุเป้าหมายนี้?


คุณอาจสามารถตั้งค่า$PS1ตัวแปร (พรอมต์) ให้มีเวลา แต่ฉันไม่แน่ใจว่าจะมีการเปลี่ยนแปลงหรือไม่
kiri

คุณสามารถระบุ\@ได้ แต่เวลาจะถูกคำนวณใหม่ทุกครั้งที่มีการแจ้งเตือนไม่ใช่เวลาปัจจุบัน
kiri

2
@muru ตามที่ฉันระบุไว้ในคำถามของฉันคำตอบนั้นใช้ได้เฉพาะกับ zsh ไม่ใช่เพื่อทุบตี
Rosh_Th

2
แต่คำถามนั้นไม่เกี่ยวกับ zsh (เป็นเรื่องทั่วไป) ดังนั้นฉันจึงแนะนำให้ G_P โพสต์คำตอบที่นั่น ด้วยคำตอบของ G_P ที่เพิ่มเข้ามาในตอนนี้มันจึงถือว่าเป็นคู่ปรับ
muru

1
@muru ว่าคำถามอื่น ๆ ต้องการเวลาโดยเฉพาะ OP ที่นี่เพียงแค่ต้องการพิมพ์ในเทอร์มินัลและไม่ได้ระบุว่าจะต้องอยู่ในพรอมต์
terdon

คำตอบ:


74

ฉันไม่แน่ใจว่ามันง่ายมากที่จะทำสิ่งนี้โดยใช้ bash shell ที่เป็นค่าเริ่มต้น (แต่ฉันไม่ได้บอกว่ามันเป็นไปไม่ได้) คุณอาจต้องการคำสั่ง / ฟังก์ชั่นที่สามารถรีเฟรชพรอมต์คำสั่งทุกวินาทีโดยไม่รบกวนสิ่งใดก็ตามที่คุณพิมพ์บนพรอมต์

Z เปลือก (zsh)มีในตัวคำสั่งที่เรียกว่าzleซึ่งเมื่อนำมาใช้กับreset-promptการโต้แย้งกองกำลังพร้อมที่จะเป็นอีกครั้งที่ขยายแล้ว redisplays บัฟเฟอร์แก้ไข

หากคุณต้องการลองใช้ขั้นตอนต่อไปนี้:

  1. ติดตั้ง Z shell ด้วยคำสั่งนี้:

    sudo apt-get install zsh
    
  2. เมื่อคุณเรียกใช้zshเป็นครั้งแรกเลือก0เมื่อคุณถูกถาม

  3. แก้ไข~/.zshrcไฟล์และเพิ่มบรรทัดต่อไปนี้:

    setopt PROMPT_SUBST
    PROMPT='%B%F{red}%n@%m%f%F{yellow}[%D{%L:%M:%S}]%f:%F{blue}${${(%):-%~}}%f$ %b'
    TMOUT=1
    
    TRAPALRM() {
        zle reset-prompt
    }
    

    บันทึกไฟล์และปิด

  4. ในเทอร์มินัลของคุณเมื่อคุณยังคงใช้ zsh เรียกใช้source ~/.zshrcหรือเพียงแค่zshเพื่อรีเซ็ตพรอมต์ของคุณ ตอนนี้ข้อความแจ้งของคุณควรมีลักษณะดังนี้:

    saurav@saurav-P4I45Gx-PE[1:25:21]:~$
    

    มีบางสี

  5. หากคุณชอบให้เรียกใช้chsh -s /bin/zshเพื่อเปลี่ยนเชลล์ปัจจุบันของคุณเป็น/bin/zsh(ต้องลงชื่อเข้าใช้อีกครั้งเพื่อให้การเปลี่ยนแปลงนี้มีผล)

  6. เรียกใช้exitหากคุณต้องการออกจากเชลล์ zsh

นี่คือ screencast 15 วินาทีจาก terminal ของฉัน:

รันนาฬิกาในเทอร์มินัลก่อนพรอมต์คำสั่ง


4
คะแนนโบนัสสำหรับ screencast สิ่งดีๆแน่นอน
MadMike

@SauravKumar Run chshเพื่อเปลี่ยนเปลือกเริ่มต้นของคุณจากไป/bin/bash /bin/zshคุณต้องออกจากระบบและลงชื่อเข้าใช้อีกครั้ง
Radu Rădeanu

จริง ๆ แล้วฉันได้ทำ .. แต่ทุกครั้งที่เทอร์มินัลเปิดฉันต้องดำเนินการzshคำสั่งเพื่อเข้าสู่โหมดนาฬิกานี้ ..
Saurav Kumar

@ RaduRădeanu: ใช่ทำงานหลังจากเข้าสู่ระบบเช่นเดียวกับการเริ่มต้นใหม่ .. คุณดีมาก .. Jai Ho !! : P
Saurav Kumar

สิ่งนี้ไม่ได้ผลสำหรับฉัน หลังจากผ่านไปหนึ่งวินาทีมันจะปิดเครื่อง ฉันอยู่ใน Linux Mint แต่ฉันไม่คิดว่ามันจะเป็นสิ่งสำคัญเนื่องจากฉันยังคงใช้ zsh ความคิดใด ๆ
istrasci

28

หากคุณต้องการที่จะแสดงเวลาทำงานในสถานีของคุณคุณสามารถใช้คำสั่งนี้ มันจะแสดงเวลาที่ด้านขวาบนของเทอร์มินัลของคุณ

  while sleep 1;do tput sc;tput cup 0 $(($(tput cols)-11));echo -e "\e[31m`date +%r`\e[39m";tput rc;done &

ป้อนคำอธิบายรูปภาพที่นี่

แต่โปรดทราบว่าการแสดงเวลาโดยใช้คำสั่งนี้บางครั้งอาจทับซ้อนข้อความที่อยู่ในเทอร์มินัล ดังนั้นใช้คำสั่งนี้ด้วยความระมัดระวังเล็กน้อย

วิธีอื่นอาจใช้อักขระควบคุมในใน PS1

[guru@guru-pc ~]$  PS1='\[\u@\h \T \w]\$'

[guru@guru-pc 11:06:16 ~]$

แต่ในวิธีนี้เวลาของคุณจะรีเฟรชหลังจากกด Enter เท่านั้น

หากคุณต้องการวิธีข้างต้นอย่างถาวรเพิ่มคำสั่งดังกล่าวข้างต้น (คนที่คุณชอบหรือทั้งสอง) ใน~.bashrcไฟล์ของคุณ


ที่ดี! เบาะแสใด ๆ เกี่ยวกับวิธีการเปลี่ยนสีของนาฬิกา?
แคลคูลัสอัศวิน

1
@CalculusKnight คุณสามารถเปลี่ยนรหัสสีในคำสั่ง คุณสามารถอ้างอิงรหัสสีนี้ได้ misc.flogisoft.com/bash/tip_colors_and_formatting
g_p

1
ใช้งานได้อย่างสมบูรณ์แบบ - ขอบคุณมาก ฉันกำลังเรียกมันจาก. bashrc เพื่อหยุดการทำงานไฟร์วอลล์ที่มากเกินไปจากการทำลายการเชื่อมต่อ SSH ที่ไม่ทำงาน
Criggie

11

หากสิ่งที่คุณต้องการทำคือการแสดงนาฬิกาเพียงใช้date:

while :; do date +%r; sleep 1 ; done

CtrlCที่จะแสดงเวลาทุกวินาทีจนกว่าคุณจะหยุดมันด้วย หากคุณต้องการให้อยู่ในบรรทัดเดียวกัน (ด้านบนจะพิมพ์บรรทัดใหม่ทุกวินาที) ทำสิ่งนี้แทน:

while :; do printf '%s\r' "$(date +%r)"; sleep 1 ; done

2

คำถามนี้รบกวนฉันสองสามวันแล้วและนี่คือโพสต์ที่แก้ไขของฉันพร้อมเนื้อหาทั้งหมดที่ฉันได้เรียนรู้ โดยเฉพาะเป้าหมายของฉันคือเพื่อให้บรรลุการแสดงนาฬิกาถัดจากพร้อมท์ใน BASH เช่นเดียวกับ Radu Radeanu ที่กล่าวถึงในคำตอบของเขากุญแจคือการหาฟังก์ชั่นหรือตัวแปรที่สามารถรีเฟรชพร้อมรับคำสั่งหรือวาดหน้าจอใหม่ได้อย่างต่อเนื่องโดยไม่รบกวนหน้าจอของคุณหรือสิ่งที่คุณพิมพ์ ในขณะที่สิ่งนี้เป็นไปได้ที่จะบรรลุด้วยขณะที่ลูปตามที่แสดงโดย G_P การวาดใหม่อย่างต่อเนื่องของหน้าจอที่มีฟังก์ชั่น tput ยุ่งกับข้อความใด ๆ ที่อยู่บนหน้าจอของฉันทันทีที่รีเฟรช ฉันเข้ามาใกล้เพื่อรับสิ่งที่ OP ถามโดยการแก้ไขโค้ด G_P ที่โพสต์ไว้บ้าง แต่ฉันก็ยังเชื่อว่าคำตอบของ Radu นั้นใกล้เคียงกับที่ OP ต้องการมากที่สุด หากไม่มีความกังวลใจต่อไปนี้คือสิ่งที่ฉันต้องการ

# 1 โซลูชันที่ฉันต้องการ: Terminal Multiplexer

Terminal multiplexer เป็นซอฟต์แวร์ที่อนุญาตให้แยกหน้าจอเทอร์มินัลออกเป็นสองหน้าจอหรือมากกว่า โดยเฉพาะอย่างยิ่งฉันต้องการดึงดูดความสนใจไปยังสถานี Byobu เครื่องมือจำลองเทอร์มินัลที่ใช้ ncurses นี้ช่วยให้คุณสามารถแสดงเวลาเปอร์เซ็นต์ CPU หน่วยความจำและตัวบ่งชี้อื่น ๆ ทั้งหมด ในหน้าจอจากเทอร์มินัล byobu ของฉันคุณสามารถดูอุณหภูมิของ cpu เปอร์เซ็นต์แบตเตอรี่คุณภาพการเชื่อมต่ออินเทอร์เน็ตความถี่ซีพียูแรมวันที่และเวลาแน่นอน หากคุณกังวลเกี่ยวกับการเฝ้าสังเกตสิ่งต่าง ๆ เหล่านี้เป็นประจำขณะที่อยู่ในอาคาร Byobu เป็นหนทางไป ที่จริงฉันชอบมากฉันตั้งให้โหลดโดยอัตโนมัติในขณะที่เข้าสู่ระบบ tty สิ่งที่แปลกประหลาดเพียงอย่างเดียวก็คือใน tty คุณไม่สามารถผสานหน้าต่างแยกกันได้ - เพียงสลับระหว่างแท็บกับปุ่ม F3 และ F4 เท่านั้น

สกรีนช็อตของเทอร์มินัล byobu ของฉัน

โซลูชันทางเลือกที่เกี่ยวข้องกับการทำมัลติเพล็กซ์วินโดว์คือการใช้splitvtซึ่งแบ่งหน้าจอออกเป็นสองส่วน คุณสามารถรันนาฬิกาเทอร์มินัลเช่นtty-clockใช้คำสั่ง watch กับวันที่หรือคุณสามารถเขียนโค้ดด้วยตัวเองด้วยสคริปต์ เพิ่มเติมในภายหลัง ในสกรีนช็อตคุณจะเห็นส่วนหนึ่งของการแบ่งพร้อมกับ bash prompt ปกติที่ด้านบนและในส่วนล่างคุณสามารถเห็นสคริปต์ที่กำลังรันซึ่งจะรีเฟรชเอาต์พุตของdateคำสั่งด้วยclearคำสั่งอย่างต่อเนื่อง

ป้อนคำอธิบายรูปภาพที่นี่

# 2 ในขณะที่วนรอบและ tput นี่อาจเป็นสิ่งที่ใกล้ชิดกับสิ่งที่คนที่ถามคำถามที่ต้องการนำมาใช้กับทุบตี

G_P ได้โพสต์โซลูชันที่ยอดเยี่ยมที่เกี่ยวข้องกับwhile doและtputคำสั่ง อย่างไรก็ตามในรหัสของ G_P มีสองสิ่งที่ฉันไม่ชอบ หนึ่งนาฬิกาอยู่ทางด้านขวาของพรอมต์และสอง - เพราะรอบการสลีปคือ 1 วินาที (อ้างถึงรหัสต้นฉบับที่มันบอกว่าสลีป) หน้าจอจะถูกวาดใหม่ทุกวินาทีและทำให้การแสดงผลของฉันยุ่ง สิ่งที่ฉันทำคือแก้ไข bash prompt ของฉันให้ต่ำกว่าหนึ่งบรรทัดด้วยตัวดำเนินการ \ n และเปลี่ยนรหัสของ G_P เพื่อให้ผู้ดำเนินการ tput วางตำแหน่งนาฬิกาเหนือพรอมต์และรีเฟรชทุก ๆ 60 วินาที ที่ทำให้ฉันเห็นชั่วโมงและนาที (และฉันไม่สนใจเลยว่านาที) ในขณะที่วงนาฬิกาไม่เลอะหน้าจอของฉัน ก่อนอื่นนี่คือพรอมต์ของฉัน:

PS1='${debian_chroot:+($debian_chroot)}\n[*\u@Ubuntu*]\n $(date) :\w\$  ' 

และนี่คือรหัสที่แก้ไขของ G_P: enter code here

 while sleep 60;do tput sc;tput cup 0 0;date +%R;tput rc;done &

การแก้ไขเล็กน้อย: ฉันสังเกตเห็นว่ารหัสนี้ด้านบนไม่ได้นำนาฬิกาขึ้นมาในบางครั้ง นี่คือรุ่นที่ดีกว่า: อันwhile true; do tput sc;tput cup 0 0;date +%R;tput rc; sleep 60; done & นี้วางนาฬิกาบนหน้าจอก่อนจากนั้นให้ทุบตีรู้รอบการทำสลีป 60 วินาที

หมายเหตุ tput cup 0 0 วางนาฬิกาไว้ที่มุมขวาบนของหน้าจอด้านบนของพรอมต์และสลีป 60 เปลี่ยนรอบการสลีปเป็น 60 วินาทีเพราะวิธีที่ฉันสามารถตรวจสอบเพียงชั่วโมงและนาทีแทนทุกวินาที วิธีนี้สิ่งที่ฉันมีข้อความบนหน้าจอจะไม่ได้รับผลกระทบส่วนใหญ่ (เฉพาะเมื่อฉันเกิดขึ้นเพื่อเรียกใช้คำสั่งในเวลาเดียวกันการรีเฟรชนาฬิกา)

ป้อนคำอธิบายรูปภาพที่นี่

บรรทัด PS1 มีอยู่ในโปรไฟล์. bashrc ของคุณแล้วดังนั้นคุณเพียงแค่ปรับแต่งเล็กน้อย ควรเพิ่มห่วงการทำในขณะที่บางที่ในไฟล์เดียวกันโดยเฉพาะอย่างยิ่งในตอนท้ายด้วย # ความคิดเห็นว่านี่คือสิ่งที่คุณเพิ่มในตอนแรก และอย่าลืมสำรองไฟล์ใด ๆ เช่นนั้นเสมอในกรณีที่คุณสร้าง bubu และจำเป็นต้องกลับไปใช้วิธีเดิม

# 3 การเขียนสคริปต์และอื่น ๆ

ส่วนนี้เป็นเพียงสำหรับผู้ที่ต้องการดูเวลา สำหรับผู้ที่ต้องการตรวจสอบอย่างต่อเนื่อง # 1 และ # 2 เป็นตัวเลือกที่ต้องการ

ดังนั้นอย่างที่เราได้เห็นแล้วว่าห่วงลูปนั้นมีประโยชน์มาก นี่คือวิธีที่คุณสามารถสร้างนาฬิกาโดยใช้คำสั่งลูปวันที่และสลีป

ป้อนคำอธิบายรูปภาพที่นี่

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

#!/bin/bash

while true
do
clear;date
sleep 1
done

ตอนนี้คุณสามารถรันสคริปต์นั้นด้วย splitvt ในอินสแตนซ์หนึ่งของ bash ขณะที่ทำงานในอีกอัน

อีกวิธีคือwatch -n1 dateคำสั่งซึ่งจะดำเนินการคำสั่งวันที่อย่างต่อเนื่องด้วยระยะเวลา 1 วินาที

ในบทสรุป:ฉันได้เรียนรู้บางสิ่งในขณะที่พยายามค้นหาคำตอบสำหรับคำถามนี้และฉันหวังว่าการค้นพบของฉันจะช่วยคุณในทางใดทางหนึ่งและฉันหวังว่าฉันจะสามารถช่วยเหลือคำถามนี้ได้ Byobu terminal IMHO เป็นทางออกที่ดีที่สุด แต่ตัดสินใจด้วยตัวเองทำการค้นคว้าและเลือกวิธีที่ดีที่สุดสำหรับคุณ

บางสิ่งที่ฉันค้นพบขณะค้นคว้า:

โพสต์ต้นฉบับของฉันคือคำตอบที่เรียบง่าย:แก้ไขไฟล์ ~ / .bashrc ของคุณ ฉันชอบแก้ไขด้วยนาโนดังนั้น

nano ~/.bashrc

นี่คือส่วนของไฟล์ที่แก้ไขของฉัน:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\$'    
else
   # PS1='${debian_chroot:+($debian_chroot)}[*\u@Ubuntu*]:\w\$ '
    PS1='${debian_chroot:+($debian_chroot)}[*\u@Ubuntu*]\t:\w\$ '
fi

หลังจากนั้นข้อความสั่งอื่นบรรทัดแรกจะถูกคอมเม้นต์ด้วย # (นี่คือพรอมต์เก่าของฉัน) ตอนนี้บรรทัดที่สองคือบรรทัดที่คุณต้องการและ\tตัวดำเนินการเฉพาะ ที่แสดงเวลาทำงานในรูปแบบ 24 ชั่วโมง สำหรับการตรวจสอบข้อมูลเพิ่มเติมจากนี้ นอกจากนี้ยังมีโน้ตเล็ก ๆ ฉันใช้สิ่งต่าง ๆ หลังจากนั้นเพราะฉันไม่ได้ใช้ข้อความแจ้งสี

PS:โปรดแจ้งให้เราทราบหากฉันควรเพิ่มอะไรในคำตอบของฉันหรือแก้ไขในทางใดทางหนึ่ง แต่ส่วนใหญ่ฉันเชื่อว่านี่เป็นคำตอบที่สรุปที่สุดที่ฉันสามารถเกิดขึ้นได้และอย่างน้อยฉันก็ไม่ได้เพิ่มอะไรเลย ใหม่กับมัน


1
สิ่งนี้จะไม่แสดงนาฬิกา 'ที่กำลังทำงาน' ตามที่ OP ต้องการ มันจะเพิ่มเวลาในการพรอมต์เทอร์มินัล
Parto

2
export PS1='\t$'

เพราะผมชอบการแสดงเป็นข้อมูลพื้นฐานน้อยที่สุดเท่าที่เป็นไปได้ในฉันขั้วโดยทั่วไปปรับแต่งทุกครั้งเป็น#, $ฯลฯ (ถ้าคุณต้องการที่จะเปลี่ยนมันถาวร, การแก้ปัญหา minerz029 เป็นที่สมบูรณ์แบบ)

หากต้องการแก้ไขเพื่อแสดงปัจจุบันฉันสามารถไปได้

export PS1='\T$'

สำหรับเวลาในรูปแบบ 12 ชั่วโมง คุณสามารถดูเอกสารทุบตีสำหรับตัวเลือกอื่น ๆ


1

เวลานี้จะเปลี่ยนแปลงก็ต่อเมื่อได้รับพรอมต์ใหม่

คุณสามารถเพิ่มสิ่งต่อไปนี้ใน.bashrc:

export PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:[\t]:\w\$ "

ซึ่งจะผลิต:

USER@HOST:[12:59:59]:~$ _

ข้อมูลเพิ่มเติมที่นี่: http://www.thegeekstuff.com/2008/09/bash-shell-ps1-10-examples-to-make-your-linux-prompt-like-angelina-jolie/#8

ค้นหา "8. สร้างพรอมต์ของคุณเองโดยใช้รหัสที่มีอยู่สำหรับตัวแปร PS1" ในหน้าเว็บด้านบน


2
ฉันขอขอบคุณสำหรับเวลาและความพยายามของคุณ แต่นี่ไม่ใช่สิ่งที่ฉันต้องการ ..
Saurav Kumar

@SauravKumar ใช่ฉันเข้าใจว่าคุณต้องการนาฬิกาวิ่ง ฉันไม่แน่ใจว่าเป็นไปได้กับตัวแปร 'PS1' หรือไม่อาจ$PROMPT_COMMANDทำงานได้หากคุณสามารถหาคำสั่งที่แสดงเวลาฟ้อง
kiri

ฉันคิดว่าคุณสามารถทำได้ .. :) ดูเหมือนว่าคุณได้เข้าใกล้ทางออกแล้ว ...
Saurav Kumar

ทำไมถึงรวม\ uสองครั้ง @SauravKumar
David

@ David: ฉันขอโทษฉันไม่รู้ แต่@ minerz029อาจตอบคำถามของคุณ :)
Saurav Kumar

1

ฉันชอบคุณสมบัตินาฬิกาncmpcpp ที่ถูกเรียกโดย0-key (ดูภาพหน้าจอ) สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับขั้นตอนการติดตั้งโปรดดูโพสต์นี้

ป้อนคำอธิบายรูปภาพที่นี่


1
watch -t -n1 "date +%T|figlet" จะเป็นวิธีที่ง่าย
g_p

1

ได้รับอิทธิพลจากg_pและSergฉันพยายามสร้างฟังก์ชันใน bash ใช้งานได้ แต่ฉันไม่แน่ใจว่าควรตรวจสอบคำสั่ง ps ทุกวินาทีเพื่อดูว่า bash เป็นกระบวนการ fg หรือไม่

prompttime() {
  PSCOLGREEN="\[$(tput setaf 2)\]"
  PSCOLRESET="\[$(tput sgr0)\]"
  PS1="${PSCOLGREEN}\\$ ${PSCOLRESET}[--:--:-- \W] "
  [ "$PROMPTCURRTTY" ] || {
    PROMPTCURRTTYtemp=$(tty)
    PROMPTCURRTTY=${PROMPTCURRTTYtemp//\/dev\//}
    unset PROMPTCURRTTYtemp; }
  PROMPTSTATE="[S]s+"
  while :; do
    sleep 1
    [ "$(ps a | grep "${PROMPTCURRTTY}.*${PROMPTSTATE}.*$(basename $SHELL)")" ] &&
    { tput sc
      tput hpa 3
      echo -en "$(date +%T)"
      tput rc; }
    continue
  done&
}

0

หากคุณไม่จำเป็นต้องใช้debian_chrootมันเป็นสถานที่ที่สะดวกในการใส่เวลาที่พร้อมท์คำสั่งแสดงโดยใช้:

export PROMPT_COMMAND='debian_chroot=$(date +%r)'

พิมพ์สิ่งนี้ในเทอร์มินัลของคุณและดูการเปลี่ยนแปลงที่พร้อมท์คำสั่งพร้อมเวลา:

rick@alien:~$ export PROMPT_COMMAND='debian_chroot=$(date +%r)'

(09:14:59 PM)rick@alien:~$ 

หลังจากเวลาถูกตั้งค่าหนึ่งครั้งเพื่อรับนาฬิกาที่ทำงานซึ่งอัพเดตทุกการใช้งานที่สอง:

while sleep 1;do tput sc;tput cup $(($(tput lines)-1)) 1;printf `date +%r`;tput rc;done &

สิ่งนี้.gifแสดงคำสั่งที่ใช้งานจริง:

terminal terminal prompt.gif

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.