次の例では、それぞれが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に組み込まれた出力形式と異なることがわかります。)