我正在更新作爲程序測試工具的bash腳本。 以前,我有這條線在腳本工作完美($BIN_FILE
設置爲相對路徑來測試二進制的存在):
$BIN_FILE $BIN_OPTS &> $LOG_FILE
於是我決定添加一些「性能測試」:
time $BIN_FILE $BIN_OPTS &> $LOG_FILE"
這一切都很完美,但是當一次運行很多測試時,腳本的輸出對於所有那些「真實,用戶,系統」來說太擁擠了。現在我將第二個參數傳遞給腳本,這會導致$ TIME變量賦予值'time'。但是,
$TIME $BIN_FILE $BIN_OPTS &> $LOG_FILE
只是不起作用。唯一的工作選擇似乎是
eval "$TIME $BIN_FILE $BIN_OPTS &> $LOG_FILE"
但它是醜陋的。
爲什麼不
$TIME $BIN_FILE $BIN_OPTS &> $LOG_FILE
工作?有沒有更好看的解決方案,然後用eval?另外,關於可移植性 - 我應該使用bash的內部'時間',還是調用GNU/usr/bin/time?
謝謝,我現在沒有,除了唯一接受的-p選項,我可以使用TIMEFORMAT修改Bash內置顯示格式。 – chronos 2009-11-20 01:08:21