基本的なBashスクリプトで「時間」が機能しないのはなぜですか?

基本的なBashスクリプトで「時間」が機能しないのはなぜですか?

echo -e '#!/bin/bash\nsleep 10' > time_test.sh && chmod +x time_test.sh && time time_test.sh

time_test.sh: No such file or directory

real    0m0.186s
user    0m0.105s
sys     0m0.074s

私が何かを見逃したと思います..?

編集:部分的にサンプルスクリプトではなく、スクリプト(現在追加されている)のエラーを無視したため、エラーを見逃しました。特定の方法でスクリプトを実行するコマンドにはその場所が必要ですが、他の組み込みコマンドには必要catないことが教訓のようです。したがって、より良い質問は、どのコマンドが場所の正しい定義を必要とするのか、または試してエラーが発生した場合に追加するスクリプトまたは./パス情報を見つけることができないということです。すべてが失敗すると仮定します。実装可能としてマークされていません。人々がこの状況に直面するために使用する他の一般的なコマンドが何であるかを知りたいです。

ベストアンサー1

既にコメントに回答されていますが、お見逃しのようでこちらに回答いたします。

コマンドを実行すると、変数にリストされているディレクトリからコマンドファイルが検索されます$PATH(コマンドがエイリアスまたはシェル関数でない場合)。これには通常、MS-Windowsとは異なり、現在の作業ディレクトリは含まれません。これはls

time ./time_test.sh解決策:not withを使用してスクリプトを実行してくださいtime time_test.sh。 (注:ファイルはで終わらないでください.sh。これは誤った形式であり、実装の詳細が漏洩します。)

おすすめ記事