###前提・実現したいこと
githubを使ってdotfilesを管理しようとしています。
###発生している問題・エラーメッセージ
dotfilesのリンクを貼るシェルスクリプトを書いたり、コマンドから実行したりしたのですが、一部、意図したように動作しません。
ln -snfv ~/dotfiles/.vimrc ~/.vimrc
のようにして、dotfilesディレクトリ内にあるdotfileをhomeへリンクさせようとしています。ここで.vimrcのようなファイルや.vimなどのディレクトリに対してはリンクを生成することに成功しているのですが、.configに関してリンクを生成しようとすると以下のようにリンクされてしまいます。
'/home/username/.config/.config' -> '/home/username/dotfiles/.config'
本来であれば
'/home/username/.config/' -> '/home/username/dotfiles/.config'
のようにリンクを生成して欲しいのですが、何故か1階層下の.configへのリンクを作成してしまいます。
###該当のソースコード
bash
1 1 #!/bin/bash 2 2 3 3 set -u 4 4 DOT_DIRECTORY="${HOME}/dotfiles" 5 5 6 6 cd ${DOT_DIRECTORY} 7 7 8 8 for f in .??* 9 9 do 10 10 #無視したいファイルやディレクトリ 11 11 [ "$f" = ".git" ] && continue 12 12 13 13 ln -snfv ${DOT_DIRECTORY}/${f} ${HOME}/${f} 14 14 #echo "${DOT_DIRECTORY}/"${f}" : ${HOME}/"${f}"" 15 15 16 16 done 17 17 18 18 echo "linked dotfiles complete!"
###試したこと
シェルスクリプトからだけでなく、コマンドから
$ ln -snfv ~/dotfiles/.config/ ~/.config/
を実行しましたが、同様の結果になってしまいます。
原因がわかる方がいらっしゃいましたら、教えていただけるとありがたいです。
###補足情報(言語/FW/ツール等のバージョンなど)
OS: ubuntu16.04LTS
lnのバージョン:
ln (GNU coreutils) 8.25
Copyright (C) 2016 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
作者 Mike Parker および David MacKenzie。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。