0

Linux システムに対して「ssh」を実行すると、奇妙な動作が見られます。posixモードで起動したときのbashの違いまで、途中で追跡しました。

% bash --posix
% ln -s /tmp mytmp
% cd mytmp
% pwd
/home/user/mytmp

bash の man ページには、posix モードで次の項目があります。

--> cd ビルトインが論理モードで呼び出され、$PWD から構築されたパス名と引数として指定されたディレクトリ名が既存のディレクトリを参照していない場合、cd は物理モードにフォールバックする代わりに失敗します。

--> pwd ビルトインに -P オプションを指定すると、$PWD がシンボリック リンクを含まないパス名にリセットされます。

--> pwd ビルトインは、-P オプションでファイル システムを確認するように求められていなくても、表示される値が現在のディレクトリと同じであることを確認します。

私が見ているものとまったく同じように聞こえるものはありません。

起動ファイルに特別な PWD 関連の変数が設定されていないようです。--posix は、使用される起動ファイルを制御することを知っています。

シンボリックリンク追跡のようなものを明示的に制御する変数はありますか?

この効果を「元に戻す」方法はいくつか考えられますが、なぜそうなっているのかを知る必要があります。

私は ssh を使用して make を実行していますが、make は を使用してpwdおり、その pwd が間違った答えを出しています。ENV 設定から直接取得する必要があります。何が起こっているのかについてのドキュメントをどこかで見つけたいと思います。

4

1 に答える 1