Solusi 1:
X=`(waktu ls) 2>&1 | grep nyata`
Solusi 2:
Lihat BashFAQ/032.
$ # captures output of command and time
$ time=$( TIMEFORMAT="%R"; { time ls; } 2>&1 ) # note the curly braces
$ # captures the time only, passes stdout through
$ exec 3>&1 4>&2
$ time=$(TIMEFORMAT="%R"; { time ls 1>&3 2>&4; } 2>&1)
bar baz
$ exec 3>&- 4>&-
Waktu akan terlihat seperti "0,000" menggunakan TIMEFORMAT="%R"
yang akan menjadi waktu "nyata".
Solusi 3:
Waktu menulis hasilnya ke STDERR daripada STDOUT. Lebih buruk lagi, secara default 'time' adalah perintah bawaan shell, jadi jika Anda mencoba 'time ls 2>&1', '2>&1' hanya berlaku untuk 'ls'.
Solusinya mungkin seperti:
/usr/bin/time -f 'real %e' -o OUTPUT_FILE ls > /dev/null 2>&1<br>
REALTIME=$(cat OUTPUT_FILE | cut -f 2 -d ' ')
Ada cara yang lebih mewah untuk melakukannya, tetapi itu adalah cara yang jelas/sederhana.
Bagaimana cara mengubah urutan startup/boot layanan Linux?
Bagaimana cara mencetak konten di pekerjaan?