android13/rkst/correct-parameter

63 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
strToLong() {
itip=$1
a=$(($itip/256/256/256))
b=$(($itip/256/256-$a*256))
c=$(($itip/256-$a*256*256-$b*256));
d=$(($itip-a*256*256*256-$b*256*256-$c*256))
echo $d"."$c"."$b"."$a
}
TEXT=`ifconfig | grep 'inet addr:' | grep -v '127.0.0.1'`
#echo $TEXT
SERVER_IP=`echo $TEXT | cut -d: -f2 | awk '{ print $1}'`
TARGET_IP=`echo $SERVER_IP | awk -F"." '{print $1"."$2"."$3"."$4+1}'`
NETMASK=`echo $TEXT | cut -d: -f4 | awk '{ print $1}'`
echo "Server IP: $SERVER_IP"
echo "Target IP: $TARGET_IP"
echo "Netmask: $NETMASK"
GATEWAY=`cat /proc/net/route | awk -F" " '$4==3{print $3}'`
GATEWAY=`echo $GATEWAY | tr a-z A-Z`
GATEWAY=`echo "obase=10;ibase=16;$GATEWAY" | bc`
GATEWAY=`strToLong $GATEWAY`
echo "Gateway: $GATEWAY"
#NFS_DIR=`pwd`/android_nfs
TMP_FILE=parameter.tmp
rm -f $TMP_FILE
#awk -F" " '$1!="CMDLINE:"{print "echo $0 >> asdf"}' $1
awk -F" " -v SIP=$SERVER_IP -v TIP=$TARGET_IP -v NMASK=$NETMASK -v GW=$GATEWAY -v NFS=$2 '
{
if ($1=="CMDLINE:")
{
for(i=1;i<=NF;i++)
{
if(index($i,"nfsroot=") > 0)
{
printf "nfsroot=%s:%s ",SIP,NFS;
}
else if(index($i,"ip=") > 0)
{
printf "ip=%s:%s:%s:%s:rk28:eth0:off ",TIP,SIP,GW,NMASK;
}
else
{
printf "%s ",$i;
}
}
}
else
{
print $0;
}
}' $1 > $TMP_FILE
rm -f $1
mv $TMP_FILE $1
chmod 777 $1