次のディレクトリ構造があります。
~/a/bin
~/a/src -> /home/user/b/sync/src
シンボリックリンクを作成しました
cd ~/a/src
ln -s ../bin bin-xyz
これでbin-xyzは壊れたリンクなので、CDに入る方法はありません。
私は何を探していますか?
相対パスが壊れないようにシンボリックリンクフォルダ内にシンボリックリンクを作成する方法は?例えば、
cd ~/a/src/bin-xyz
または
cd ~/b/sync/src/bin-xyz
~/a/ または ~b/sync/ に bin ディレクトリがある場合に動作します。
私はこれをなぜ探しているのですか?
コンピューター間で ~/b/sync/src を同期しています。ここで ~/a/ は両方のコンピュータのワークスペースですが、コンピュータのユーザー名は異なります。したがって、有効な相対パスがあることは、ワークフローがより簡単であることを意味します。
同期にBittorent同期を使用しています。
ありがとうございます:-)
答え1
今bin-xyzは壊れたリンクです。
その理由は明らかです。どちらの場合も、..
以下を参照する必要があります。実際そうでなければ完全にあいまいになります。
なぜならに接続しようとしている~/a/src -> /home/user/b/sync/src
ようです。この場合は絶対パスを使用する必要があります。$PWD
ln -s ../bin bin-xyz
/home/user/b/sync/src/bin-xyz
/home/user/a/sync/bin
ln -s /home/user/a/sync/bin /home/user/b/sync/src/bin-xyz
ln
この間隔が埋められない理由..
は、現在のシェルとは異なり、動きを追跡せず、..
実際の親ディレクトリ以外のものを参照しているかどうかを知る方法がないからです。
あなたの質問(おそらく?)は、実際には2つの異なるシステムが関係しているため、これを実行できないことを意味します。これは、ネットワーク共有がマウントされているか、または両方に同じブロックデバイスを使用していることを意味します。XYの問題- この問題は、詳細がなければ解決できません。