サブシェルで `time`を実行すると、「zsh:コマンドが見つかりません:time」が表示されます。

サブシェルで `time`を実行すると、「zsh:コマンドが見つかりません:time」が表示されます。

数日前、Ubuntu 12.10 64ビットシステムにZSH(およびOh-My-ZSH)をインストールしました。私はこれを試しました。

time (time ls)

そして、このエラーが発生しました:

zsh: command not found: time
( time ls; )  0.00s user 0.00s system 64% cpu 0.002 total

私のMacのZSHでも同じ機能が動作します。

また、構成ファイルをロードせずにZSHを実行してみましたが、zsh -f -d同じエラーが発生しました。

ここで何が間違っている可能性がありますか?


役立つ可能性がある追加の出力:

➜  ~  type -a time
time is a reserved word
➜  ~  time (type -a time)
time is a reserved word
( type -a time; )  0.00s user 0.00s system 0% cpu 0.001 total
➜  ~  time (time)
zsh: command not found: time
( time; )  0.00s user 0.00s system 0% cpu 0.001 total
➜  ~  which time
time: shell reserved word
➜  ~  time (which time)
time: shell reserved word
( which time; )  0.00s user 0.00s system 0% cpu 0.001 total

ベストアンサー1

timezshの予約語です。コマンドの先頭でのみ認識されます。内蔵語ではなく予約語なのですが、書けばただではなくtime foo | bar時間制限がある複合命令だからです。foo | barfoo

time予約語として認識されない場合は、外部コマンドの名前として解釈されます。何らかの理由でシステムにtimeインストールコマンドがありません。したがって、同じコマンド\timeまたは=time2番目のコマンドが存在しない実行可能ファイルを呼び出そうとするtimeと、「コマンドが見つかりませんでした:時間」というエラーメッセージが表示されます。time timetime

実行できるようにするには、time (time ls)(有用なコマンドではない)timeパッケージをインストールしてください。ubuntu-standardこれはインストールする必要があることを示す依存関係です。

おすすめ記事