0.00user 0.00system 0:01.00elapsed 0%CPU (0avgtext+0avgdata 2176maxresident)k
0inputs+0outputs (0major+179minor)pagefaults 0swaps
...是由GNU版本外部time
command產生缺省輸出。
real 0m1.003s
user 0m0.000s
sys 0m0.000s
...是由bash
builtin time
產生的默認輸出。內部版本time
是bash
擴展名:POSIX-compliant shell不需要提供內部版本time
。
然而,POSIX does specify an external time
utility,這可能需要-p
選項生成另一個輸出格式:
real 1.01
user 0.00
sys 0.00
...和bash
內建還接受-p
選項產生相同的輸出格式。
的bash
內建應該很好地工作在提供的腳本實際上正在運行一個shell腳本通過bash
:
$ cat time.sh
#!/bin/bash
time sleep 1
$ ./time.sh
real 0m1.001s
user 0m0.000s
sys 0m0.000s
$
如此看來,你的腳本調用外部程序,而不是內建的bash
。
這種情況最可能的原因是:
- 腳本說
#!/bin/sh
而非#!/bin/bash
;和你的機器上
- 的
/bin/sh
實際上不是bash
,但沒有bash
擴展一個更輕量級的兼容POSIX的shell(在某些Linux發行版中找到這些天)。
的解決方案是確保腳本特別通過使用#!/bin/bash
如果它依賴於bash
擴展調用bash
。
格式化/終端碼不是OP的問題......如果它是'時間睡眠1 |貓'也會顯示「其他」格式...查看帖子中的鏈接,它有正確的答案,但不是如何解決 – nhed
終端代碼不是問題。這只是打印文本。 –