[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Un menu amb dialog



Bones !!!

Com que no tinc etherconf m'he apadaçat un script per configurar la xarxa.

Però no sé com fer que em faci un menú decent amb les interfícies provades
i la informació de cadascuna. Veure definició de $MANU una mica més avall.


#!/bin/bash

TMP="/tmp/netconfig.tmp$$"

NETDEVICES=$(echo `cat /proc/net/dev | egrep "eth" | cut -d ":" -f 1 | cut
-c3-6`)

for DEVICE in $NETDEVICES

do

ID=$(cat /sys/class/net/$DEVICE/device/device | cut -d "x" -f 2)

BUS=$(lspci -n | egrep $ID | cut -d " " -f 1)

#A continuació els meus problemes.
#Aquest funciona.
MANU="$(lspci | egrep $BUS | cut -d ":" -f 3 | cut -d " " -f 2 )"

#Aquest també però no com jo voldria.
#MANU="$(lspci | egrep $BUS | cut -d ":" -f 3 )"

i=$(echo `cat /proc/net/dev | egrep $DEVICE | cut -d ":" -f 1 | cut -c6`)

eth[$i]="$MANU"

prova=$prova" eth$i ${eth[$i]}"

done

dialog --title "Configuració Xarxa" --menu "Selecciona la interfície a
configurar" 15 80 12 `echo $prova` 2> $TMP

read iface <"$TMP"

[ ! -d /tmp/setup.opts ] && mkdir /tmp/setup.opts
cd /tmp/setup.opts
dialog --title "Configuració Xarxa" --menu "Esteu configurant la
interfície $iface. Tria una opció:" 20 60 7 0 "DHCP" 1 "Configuració
Manual" 2> $iface.1
mynetsel=`cat $iface.1`
case $mynetsel in
0)
	/sbin/pump -i $iface
	;;
1)
	dialog --title "Adreça IP" --inputbox "Entra una IP per a la interfície
$iface:" 20 50 "192.168.1.1" 2> $iface.IP
	dialog --title "Adreça de Difusió" --inputbox "Entra la adreça de difusió
per a $iface:" 20 50 "192.168.1.255" 2> $iface.B
	dialog --title "Màscara de Xarxa" --inputbox "Entra la màscara de xarxa
per a la interfície $iface:" 20 50 "255.255.255.0" 2> $iface.NM
	dialog --title "Passarel·la" --inputbox "Entra la passarel·la per defecte
$iface:" 20 50 2> $iface.GW
	dialog --title "Servidor DNS" --inputbox "Entra un servidor de DNS" 20 50
2> $iface.NS
	/sbin/ifconfig $iface `cat $iface.IP` broadcast `cat $iface.B` netmask
`cat $iface.NM`
	myroute=`cat $iface.GW`
	if [ "$myroute" != "" ]
	then
		/sbin/route add default gw $myroute dev $iface netmask 0.0.0.0 metric 1
	fi
	myns="`cat $iface.NS`"
	if [ "$myns" = "" ]
	then
		: > /etc/resolv.conf
	else
		echo "nameserver $myns" > /etc/resolv.conf
	fi
	;;
esac
echo "Resultats de ifconfig:
"
/sbin/ifconfig $iface

echo "Fem un ping a la passarel·la per comprovar la conectivitat:
"
/bin/ping -c 1 $myroute

rm -rf /tmp/setup.opts
rm -f "$TMP"

Algú que hi entengui i estigui avorrit per donar-me un cop de ma.



Reply to: