0

以下のコードを含むメイクファイルがあります。

ddd :
    @mkdir -p /full/path_new/to/new_dir
    @ln -fs /full/path_old/to/old_dir/private /full/path_new/to/new_dir/private

Linux ln コマンドは、ディレクトリ ターゲットと親の両方にリンクを作成します。それは私が持っていることを意味します:

/full/path_new/to/new_dir:
private -> /full/path_old/to/old_dir/private

しかし、古いものもリンクを取得します

/full/path_old/to/old_dir/private
private -> /full/path_old/to/old_dir/private

それは私が次のようなものを持っている原因です

/full/path_old/to/old_dir/private/private/private/private (...) endless

ln コマンドを使用して new_dir のみにリンクを設定するにはどうすればよいですか?

4

2 に答える 2

1

作成する前に、既存のリンクを削除する必要があります。

ddd :
        @mkdir -p /full/path_new/to/new_dir
        @rm -f /full/path_new/to/new_dir/private
        @ln -fs /full/path_old/to/old_dir/private /full/path_new/to/new_dir/private
于 2015-06-12T14:54:39.427 に答える
0

白紙の状態であると仮定すると、これを行う適切な方法は、作成している依存関係を認識しているターゲットを作成し、既に存在する場合は作成しないようにすることです。

ddd: /full/path_new/to/new_dir/private
/full/path_new/to/new_dir/private:
    mkdir -p /full/path_new/to/new_dir
    ln -s /full/path/to/old_dir/private /full/path_new/to/new_dir
于 2015-06-12T15:10:49.543 に答える