summary refs log tree commit diff
path: root/link.sh
blob: 0f1f49aab0f19f8da20c682f81c3bf6a826498a3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/sh
set -e -u

if [ $# -eq 1 ]; then
	linkPath=$1
	filePath="$PWD/home/${linkPath#$HOME/}"
	[ ! -f "$filePath" ]
	mkdir -p "$(dirname "$filePath")"
	mv "$linkPath" "$filePath"
fi

find home -type f | while read -r findPath; do
	filePath="$PWD/$findPath"
	linkPath="$HOME/${findPath#home/}"
	mkdir -p "$(dirname "$linkPath")"
	[ \( -f "$linkPath" -a -L "$linkPath" \) -o ! -f "$linkPath" ]
	ln -s -f "$filePath" "$linkPath"
done