pwdが--physicalのような長いオプションを受け入れないのはなぜですか?

pwdが--physicalのような長いオプションを受け入れないのはなぜですか?

コマンドマニュアルを表示すると、長いオプションがサポートされてpwdいることがわかります--physical

$ man pwd
PWD(1)                           User Commands                          PWD(1)

NAME
       pwd - print name of current/working directory

SYNOPSIS
       pwd [OPTION]...

DESCRIPTION
       Print the full filename of the current working directory.

       -L, --logical
              use PWD from environment, even if it contains symlinks

       -P, --physical
              avoid all symlinks

ただし、次のように入力すると失敗します。

$ pwd --physical
-bash: pwd: --: invalid option
pwd: usage: pwd [-LP]

長いオプションが私に適していないのはなぜですか?

RHEL 6.4を使用しています。 pwdのエイリアスは設定されていません。これは標準パスワードのようです:

$ which pwd
/bin/pwd

ベストアンサー1

bashシェルにpwd入力するだけで使用できる組み込みコマンドがあります。pwd

マンページに記載されている内容を取得するには、pwd外部コマンドを強制的に使用する必要があります。実行可能ファイルへのフルパスを指定する/bin/pwdか(あなたの場合)、env次を追加することでこれを行うことができます。env pwdこの行は、環境に設定を追加するために使用できるコマンドを起動し(ここでは実行されません)、開始されますenvenv指定されたコマンド。env組み込み機能がないため、pwd「real」が実装されます。/bin/pwd

bash組み込みコマンドの利点はpwd現在のbashディレクトリを追跡するため、値を取得するコストはゼロですが、外部コマンドはパスを決定するためにファイルシステムから取得する必要があるため、IO集約的です。

おすすめ記事