$ PWDとは何ですか? (現在の作業ディレクトリと比較)

$ PWDとは何ですか? (現在の作業ディレクトリと比較)

だからウィキペディア(協会pwd)コマンドが「作業ディレクトリの印刷」の略であることを示します。これは意味があります。

ただし、環境変数の場合、「P」は印刷以外の意味の略語でなければなりません。

人々が「現在の作業ディレクトリ」について話しているのを聞いてください。この方法はより聞き取りやすく直感的ですが、環境変数はまだ$ CWDではなく$ PWDと呼ばれるようです。 「印刷作業ディレクトリ変数を確認しましたか?」と言った人はいません。

私は現在WebアプリケーションサーバーであるuWSGIを使用しています。これを実行すると(uWSGI統計ページで)、次のメッセージが表示されます。

"cwd":"/home/velle/greendrinks",

cwdだから彼らは明らかに(より直感的な略語)を好みますpwd

私が何かを間違って理解しているのかを調べようと努力しているようです。それとも、環境変数に直感的ではない名前を付ける問題ですか?

答え1

それはあなたが何をしているかに依存します。まず、シェル組み込みまたは実際のバイナリである$PWD環境変数があります。pwd

$ type -a pwd
pwd is a shell builtin
pwd is /bin/pwd

$PWDこのフラグを使用しないと、bash組み込み機能は単に現在の値を印刷します-P。説明したようにhelp pwd

pwd: pwd [-LP]

    現在の作業ディレクトリの名前を印刷します。

    オプション:

      -L
          $PWD 現在の作業ディレクトリが指定されている場合は、値を印刷します。
      -P
          シンボリックリンクなしで実際のディレクトリを印刷します。

    デフォルトでは、「pwd」は「-L」が指定されたかのように動作します。

pwd一方、バイナリは通過します。getcwd(3)システムコールはreadlink -f /proc/self/cwd次の値を返します。これを説明するために、別のディレクトリに接続されているディレクトリに移動してみてください。

$ ls -l
total 4
drwxr-xr-x 2 terdon terdon 4096 Jun  4 11:22 foo
lrwxrwxrwx 1 terdon terdon    4 Jun  4 11:22 linktofoo -> foo/
$ cd linktofoo
$ echo $PWD
/home/terdon/foo/linktofoo
$ pwd
/home/terdon/foo/linktofoo
$ /bin/pwd
/home/terdon/foo/foo

要約すると、GNUシステム(Ubuntuなど)では、オプションを使用しない限り同じですがpwd異なります。echo $PWD-P/bin/pwdpwd -P

源泉 https://askubuntu.com/a/476633/291937

答え2

$PWD~である現在の名前ワット翡翠D目次。

シンボリックリンクがある場合、$PWD読み取り結果はコマンドの実行と異なる場合がありますpwd

関連情報