数日前、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
time
zshの予約語です。コマンドの先頭でのみ認識されます。内蔵語ではなく予約語なのですが、書けばただではなくtime foo | bar
時間制限がある複合命令だからです。foo | bar
foo
time
予約語として認識されない場合は、外部コマンドの名前として解釈されます。何らかの理由でシステムにtime
インストールコマンドがありません。したがって、同じコマンド\time
または=time
2番目のコマンドが存在しない実行可能ファイルを呼び出そうとするtime
と、「コマンドが見つかりませんでした:時間」というエラーメッセージが表示されます。time time
time
実行できるようにするには、time (time ls)
(有用なコマンドではない)time
パッケージをインストールしてください。ubuntu-standard
これはインストールする必要があることを示す依存関係です。