0

hereから取得した timed という名前の次のスクリプトがあります。

    #!/bin/sh
    START=$(date +%s)
    STARTnano=$(date +%N)

    $@  # Command-line arguments, i.e. the program you wish to time

    END=$(date +%s)
    ENDnano=$(date +%N)

    DIFF=$(( (10#$END - 10#$START) * 1000000000 ))
    DIFFnano=$(( (10#$ENDnano - 10#$STARTnano)  ))

    DIFF=$(( 10#$DIFF + 10#$DIFFnano ))

    DIFFu=$(( 10#$DIFF / 1000000000 )) # Get correct units
    DIFFd=$(( 10#$DIFF - 10#$DIFFu ))  # Get figures after decimal place

    echo "'$@' took ${DIFFu}.${DIFFd} seconds to finish."

プログラムの実行時間を測定するために使用しようとしています。

うまくいきません。「)」がないというエラーが表示され続けます。誰かが何が間違っているのか指摘できますか?

4

1 に答える 1

0

スクリプトの実行時間を取得するには、time コマンドを使用すると正確です。

例えば

$time ls

**output of ls**

real    0m0.008s
user    0m0.000s
sys     0m0.008s

real、user、および sys が意味するものには意味があります。詳細については、「マンタイム」を使用してください。ls を任意のコマンド(またはスクリプト)に置き換えることができます

于 2012-09-28T05:00:16.350 に答える