1

ドットファイルをホーム ディレクトリにシンボリック リンクするように thinkbotの bash スクリプトを変更しようとしていますが、ファイルをサブディレクトリに保存したいと考えています。

思考ボット スクリプトのオリジナルは次のとおりです。

#!/bin/sh

for name in *; do
  target="$HOME/.$name"
  if [ -e "$target" ]; then
    if [ ! -L "$target" ]; then
      echo "WARNING: $target exists but is not a symlink."
    fi
  else
    echo "Creating $target"
    ln -s "$PWD/$name" "$target"
  fi
done

私のドットファイルは、というサブディレクトリにありfilesます。for ループを次のように変更してみました。

for name in files/*for name in ./files/*for name in 'files/*'などですが、どれもうまくいきませんでした。

find少し調査した結果、次のように使用してサブディレクトリ内のファイルをループできることがわかりました。

find ./files -type f -exec "do stuff here"  \;

そして、 で各ファイルへの参照を取得できること'{}'はわかりましたが、ファイルを操作してシンボリックリンクを作成する方法がわかりません。

私は試した:

find ./files -type f -exec "ln -s '{}' $HOME/'{}'"  \;

'{}'ファイルの名前だけでなく、親ディレクトリからのファイルの相対パスであるため、それは機能しません。

これを行う正しい方法は何ですか?

参考までに、これは私のディレクトリ構造がどのように見えるかです:

https://github.com/mehulkar/dotfiles

4

2 に答える 2