summaryrefslogtreecommitdiff
path: root/common/mkiconlinks.sh
blob: b5249e4275f0ff9ee33fcfb0158c9ee737a01d9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/sh
# usage:
#	mkiconlinks linkdata icondir
#
# Linkdata file consists of lines of the form:
# 	filename1: filename2 filename3 ... filenameN
#
# For each line in the data file, the script creates a symbolic link to 
# $(icondir)/filename1 from each of $(icondir)/filename2, 
# $(icondir)/filename3 ... $(icondir)/filenameN.

exec < $1
cd $2

read NEXTLINE 
while [ ! -z "$NEXTLINE" ] ; do

	# Skip lines beginning with '#'
	if ! echo "$NEXTLINE" | grep -q '^#'; then
		#Extract first field, minus its trailing colon
		ORIG_FILE=`echo $NEXTLINE | awk '/:/{print $1}' | sed -e 's/://'`

		#Extract list of following fields
		LINKTO=`echo $NEXTLINE | awk '/:/{for (i=2; i<=NF; i++) print $i}'`

		if [ ! -z "$LINKTO" ] ; then
			echo "Creating symlinks to `pwd`/$ORIG_FILE"
		fi

	fi

	#Link each pair in turn
	for i in $LINKTO ; do
		ln -s -f "$ORIG_FILE" "$i"
	done

	read NEXTLINE 
done
exit 0