各例では、「時間」はキーワードですか、それとも「/usr/bin/time」ですか?

各例では、「時間」はキーワードですか、それとも「/usr/bin/time」ですか?

次の例では、それぞれがtimeキーワードですか/usr/bin/time?なぜ、またはどのように探しますか?

キーワードはコマンドになりますか?

timeそれとも空のコマンドでキーワードが機能しますか? (投稿やコメントでこんな質問をしたかもしれませんが見つかりません)

ありがとうございます。

$ time time

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

$ time

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

ベストアンサー1

では、time time両方とも組み込みのbashであり、外部/usr/bin/timeコマンドはありません。

timeこれは、組み込み関数がパイプを引数として使用しますが、timeそれ自体がパイプであるため、複数回呼び出すことができるためです。

Bashのソースコードを見ると、それを参照するコメントも見つけることができます。特別な場合time、他の人の電話を探しているかtimeフォロー中ですtime -p

出力は次のようtimeに生成されるため、一度だけ表示できます。ビットフラグ設定そのため、そのパイプに同じビットを設定するので、何度も呼び出しても効果はありません。

ただし、これは2つの別々のパイプラインで呼び出されるため、出力は2回表示されます。

$ time { time; }

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

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

/usr/bin/time\timeパスを使用して明示的に呼び出して、外部使用結果を表示できます。たとえば、次のように\なります。たとえば、次のようにcommandなります。time command time

$ time command time
Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose]
       [--portability] [--format=format] [--output=file] [--version]
       [--quiet] [--help] command [arg...]

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

/usr/bin/timeご覧のとおり、引数なしで呼び出されると外部が文句を言います...そしてそれがまさにあなたが見ているものです。 (また、これを実際の命令で使ってみると、出力形式がbashに組み込まれた出力形式と異なることがわかります。)

おすすめ記事