コマンドをいじっていたwhatis
ところ、なぜか を実行するとwhatis cd
、これはどういう意味ですか? というメッセージが表示されます。これはなぜですか? どちらにもエントリがcd: nothing appropriate.
ないようです。なぜですか?man
cd
それ?
答え1
cd
組み込みシェルコマンドです:
$ type cd cd is a shell builtin
のドキュメントはcd
次の場所にあります:
man builtins
実行して押し/
、「cd」を検索します。
Bash では、次のコマンドでヘルプ ページを開くこともできます。
help cd
答え2
whatis
コマンドのマニュアル ページ (セクションにあるページNAME
) から 1 行の情報を表示します。
nothing appropriate
そのコマンドのマニュアルページが見つからない場合に表示されます。
cd
これは実行可能ファイルではなく、シェルの組み込みファイル (またはshopt
インスタンスalias
など) (*) であるため、独自のマニュアル ページはありません。そのため、このような結果が得られます。
(*) 問題をもう少し複雑にしているのは、echo
やなどの単純なコマンドがprintf
、同様の名前の (通常は上位互換性のある) シェル組み込みコマンドによって上書きされるため、これらの組み込みコマンドには独自のman
ページがあるように見えますが、マニュアル ページは実際には実行可能ファイル用です (実行可能ファイルのパラメーターは若干異なる場合があります)。