私のマシンでは、物事をセットアップする方法が原因で、次のようにしています:
cd ~ # /work1/jleffler
cd ~jleffler # /u/jleffler
最初は環境変数の値に注意を払います$HOME
。$HOME
NFSマウントされたファイルシステムではなく、ローカルファイルシステムを意図的に設定しました。2番目は、パスワードファイルから読み取り(おおよそ、NISは少し複雑です)、パスワードファイルでホームディレクトリが/u/jleffler
あり、そのディレクトリに移動したこと。
ほとんどのソフトウェアは上記のように動作します(そして、シェルのPOSIX仕様ではこの動作が必要です)。パスワードファイルの情報を$ HOMEの現在の値として処理するいくつかのソフトウェアを使用しています(使用する選択肢はあまりありません)。これは誤りです。
これを質問に適用する-他の人が指摘したように、「cd ~x
」はユーザー「x」のホームディレクトリに移動し、より一般的には、チルダ展開が行われるたびに~x
、ユーザー「x」のホームディレクトリを意味します(エラーですユーザー「x」が存在しない場合)。
それは言及する価値があるかもしれません:
cd ~- # Change to previous directory ($OLDPWD)
cd ~+ # Change to current directory ($PWD)
~+
現在のディレクトリへのパスでシンボリックリンクを移動するという奇妙なことをしない限り、すぐに ' 'の使用法を見つけることはできません。
次のこともできます:
cd -
つまりと同じ~-
です。