blob: feab64f135d4e46e9d059d526d34010951d4be34 (
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
|
#!/bin/bash
# modify interface sub-block
shopt -s extglob
if [[ "$*" == *--help* ]] ; then
echo ${0##*/} [test_]FILE INTERFACE HWID
exit 0
fi
if [[ "$1" == test_* ]] ; then
origfile=$1
bootfile=/tmp/${1##*/}_$$
cp $origfile $bootfile
trap "diff -c $origfile $bootfile; rm -f $bootfile; exit 0" $?
else
origfile=
bootfile=$1
fi
eth=$2
hwid=$3
sed -i '/^interfaces {$/,/^}$/ {
/^ ethernet '"$eth"' {$/ {
:join
/\n }$/ {
/hw-id:\? / s/\(hw-id\):\? [0-9a-fA-F:]\+/\1 '"$hwid"'/
/hw-id:\? /! s/}$/ hw-id '"$hwid"'\n }/
b
}
N
b join
}
}' $bootfile
|