実際の現在のディレクトリ

実際の現在のディレクトリ

明らかに私はpwdandについて知っていますが、readlink調べるコマンドはありますか?本物現在のディレクトリへの絶対パス(リンクやドットの確認など)?

答え1

pwd -P

(すべてのPOSIXシェルで)探しているコマンド。

-Pある物理(大論理的-L、デフォルト)、これはpwd主に内容をダンプします(または$PWDに提供された引数に従ってシェルによって保持されます)。cdpushd

$ ln -s . /tmp/here
$ cd /tmp/here/here
$ cd ../here/here
$ pwd
/tmp/here/here/here
$ pwd -P
/tmp

答え2

使用

$ env pwd

または

$ /bin/pwd

POSIXLY_CORRECT変数が設定されていない場合は-P


詳細:

シェルは基本pwd的にシェルの$PWD論理的パス(デフォルト-L)。

()を使用して組み込み関数を呼び出す-P場合、または外部関数を使用する場合/bin/pwd

$ ln -s . /tmp/here; cd /tmp/here/here/here

$ pwd
/tmp/here/here/here

$ pwd -P
/tmp

$ /bin/pwd 
/tmp

これは、このオプションが外部でデフォルトに/bin/pwd設定されているためです-P
からinfo pwd

この実装では、-P' as the default unless thePOSIXLY_CORRECT 'を使用して環境変数を設定します。

答え3

Pythonを使用することもできます。

python -c "import os; print(os.path.realpath('.'))"

関連情報