シェルエイリアスと組み込み関数があるため、ネイティブ関数を対話的に使用したりスクリプトで使用したりすると、ここで説明した機能とは
stat
異なる機能が表示されることがあります。 (つまり)stat
シェルの干渉を避けるために呼び出されます。env
env stat ...
「シェルエイリアスと組み込み
stat
関数」とはどういう意味ですか? Bash では、次のエイリアスや組み込み関数や関数を見つけることができません。stat
$ whereis stat stat: /usr/bin/stat /usr/bin/X11/stat /usr/share/man/man1/stat.1.gz /usr/share/man/man2/stat.2.gz $ help stat bash: help: no help topics match `stat'. Try `help help' or `man -k stat' or `info stat'.
env
(つまり、)を介して呼び出しenv stat ...
""シェル干渉を防ぐ"ことができるのはなぜですか?次のコマンドは
env
、エイリアス、組み込みコマンド、または関数にはできませんか?コマンドの前に配置して、
env
コマンドが外部実行可能ファイルであることを指定できますか?
答え1
Bashには
stat
組み込まれていない可能性がありますが、他のシェルには存在する可能性があります。実際、シェルは任意のユーティリティの組み込みバージョンを提供でき、ユーザーはstat
自分のシェル機能を使用するか、別のバイナリのエイリアスを呼び出すことでそれを上書きできます。カント。実行中のユーティリティは
env
組み込みできません(cd
たとえば、試してみてください)。エイリアスとシェル機能も許可されていません。
マニュアルは、単にユーザーが説明した機能を取得できるようにします。本当に妄想を起こしたい場合は、理想的にはstat
絶対パスを使って電話をかけるべきだと言うべきです。これは、GNU coreutilsがオプションの追加エントリである非Linuxシステムではより意味があります(通常/usr/local/gnu/bin
、または同様の接頭辞を使用してインストールされg
ます)。gstat
gls
gmv