Bash - time (Execution Time Measurement)


time is a bash reserved word to print the time statistics (elapsed (wall-clock) time and user and system time. The use of time as a reserved word permits the timing of:

An external time command cannot time these easily.



The value of the TIMEFORMAT shell variable is used as a format string specifying how the timing information for pipelines should be displayed.

The % character introduces an escape sequence that is expanded to a time value or other information. The escape sequences and their meanings are as follows; the braces denote optional portions.

  • %% A literal %.
  • %[p][l]R The elapsed time in seconds.
  • %[p][l]U The number of CPU seconds spent in user mode.
  • %[p][l]S The number of CPU seconds spent in system mode.
  • %P The CPU percentage, computed as (%U + %S) / %R.


  • p (default 3) is a digit specifying the precision, the number of fractional digits after a decimal point. A value of 0 causes no decimal point or fraction to be output. At most three places after the decimal point may be specified; values of p greater than 3 are changed to 3.
  • l specifies a longer format, including minutes, of the form MMmSS.FFs. The value of p determines whether or not the fraction is included.
    • If this variable is not set, bash acts as if it had the value $'\nreal\t%3lR\nuser\t%3lU\nsys%3lS'.
    • If the value is null, no timing information is displayed.

A trailing newline is added when the format string is displayed.

Powered by ComboStrap