Di tcsh
, ada variabel time
:
The time shell variable can be set to execute the time builtin command
after the completion of any process that takes more than a given number
of CPU seconds.
Bagaimana saya melakukan ini bash
?
sumber
Di tcsh
, ada variabel time
:
The time shell variable can be set to execute the time builtin command
after the completion of any process that takes more than a given number
of CPU seconds.
Bagaimana saya melakukan ini bash
?
Saya tidak berpikir Anda dapat mencapai efek yang persis sama tanpa memodifikasi sumber bash. Tapi Anda bisa dekat, semoga cukup dekat untuk Anda.
Anda dapat menggabungkan kait prasyarat hack bash dan SECONDS
variabel untuk menunjukkan waktu jam dinding dengan cara yang tidak mengganggu. Berikut ini adalah implementasi sederhana dari Ville Laurikari . Fungsi timer_start
dan timer_stop
dieksekusi segera sebelum memulai perintah dan segera sebelum menampilkan prompt berikutnya.
function timer_start {
timer=${timer:-$SECONDS}
}
function timer_stop {
timer_show=$(($SECONDS - $timer))
unset timer
}
trap 'timer_start' DEBUG
PROMPT_COMMAND=timer_stop
PS1='[last: ${timer_show}s][\w]$ '
Untuk mendapatkan time
informasi lengkap untuk setiap perintah, berikut cara yang bisa dilakukan Dennis Williamson :
bind '"\C-j": "\C-atime {\C-e;}\C-m"'
Ketika Anda menekan Ctrl+ Jalih-alih Entermemulai perintah, Anda akan mendapatkan informasi waktu. Rebinding Enter(yaitu Ctrl+ M) tidak disarankan karena perintah yang dimodifikasi terkadang secara sintaksis salah.
Lihat Bagaimana cara waktu dinding perintah terakhir dimasukkan ke Bash prompt? dan Secara otomatis menghitung waktu setiap perintah yang dieksekusi dan ditampilkan di Bash prompt? pada Stack Overflow untuk metode lain (namun perhatikan bahwa sebagian besar hanya memberikan waktu nyata berlalu, bukan waktu CPU).