このコマンドを使用し、外部コマンドの代わりにtime
組み込みのGNU timeコマンドを使用する必要がある状況に遭遇しました。ではどうすればいいですか?どこかでand / orを使用すると役に立つと思いましたが、そうではありません。time
/usr/bin/time
enable
command
ユースケースは次のとおりです。
watch "time ls"
/usr/bin/time
私が望んでいない外部コマンドを使用します!次のように端末で実行するときに内部bash関数を呼び出すと、time
これが発生します。time ls
$ time ls
正反対のリクエストがここに回答されました。
2つのコマンドの間には多くの違いがあります。内部コマンドtime
はより正確ですが(必要に応じて)、外部コマンドにはより多くのオプションがあります(不要)。
答え1
デフォルトでは、コマンドwatch
は実行され表示さ/bin/sh -c '...'
れる出力でコマンドがどのように解釈される/bin/sh
かを説明しますtime
。あなたのものには/bin/sh
明らかにそれが組み込まれていませんtime
。
別のシェルを使用してコマンドを実行するには、この-x
オプションを使用してデフォルト値を削除し、必要な組み込みシェルに明示的な呼び出しを追加します。
watch -x bash -c 'time ls'
watch -x zsh -c 'time ls'
どのように実行してもwatch
、見ているコマンドはwatch
それを実行するシェルのサブコマンドではないので、シェル設定は直接的な関係はありません。