[+] Problem ze skryptem w bashu do uzupe

Konfiguracja serwerów, usług, itp.
dan-j2
Beginner
Posty: 127
Rejestracja: 17 maja 2007, 13:31

[+] Problem ze skryptem w bashu do uzupełniania freeradiusa

Post autor: dan-j2 »

Witam. Napisałem ostatnio skrypcik, który ma za zadanie z pliku radius.cfg czytać konfigurację i na podstawie jej uzupełniać plik konfiguracyjny ,,users'' w radiusie.

Wygląda on następująco:

Kod: Zaznacz cały

#!/bin/bash

rm /tmp/users
cat /etc/firewall/radius.cfg | grep -v "#" | sed -e '/^$/d' | awk  '{ print $1, $2, $3, $4, $5 }' | while read IP LOGIN HASLO MAC LS ; do
if [ "$MAC" != "0" ] ; then
echo "
$LOGIN  Auth-Type := Local, User-Password == "$HASLO", Calling-Station-Id = "$MAC", Simultaneous-Use := $LS
       Service-Type = Framed-User,
       Framed-Protocol = PPP,
       Framed-IP-Address = $IP,
       Framed-IP-Netmask = 255.255.255.0,
       Framed-Routing = Broadcast-Listen,
       Framed-MTU = 1492,
       Framed-Compression = Van-Jacobsen-TCP-IP" >> /etc/freeradius/users
fi
if [ "$MAC" = "0" ] ; then
echo "
$LOGIN  Auth-Type := Local, User-Password == "$HASLO", Simultaneous-Use := $LS
       Service-Type = Framed-User,
       Framed-Protocol = PPP,
       Framed-IP-Address = $IP,
       Framed-IP-Netmask = 255.255.255.0,
       Framed-Routing = Broadcast-Listen,
       Framed-MTU = 1492,
       Framed-Compression = Van-Jacobsen-TCP-IP" >> /etc/freeradius/users
fi
done
echo "OK, gotowe!"

exit 0
Głównie chodzi o to, że parametry takie jak $HAS£O i $MAC ma być zapisywane w taki sposób:

Kod: Zaznacz cały

"00:50:aa:aa:aa:aa"

Kod: Zaznacz cały

"sdfhjbsfhj" 
A zapisuje w taki:

Kod: Zaznacz cały

00:50:aa:aa:aa:aa

Kod: Zaznacz cały

sdfhjbsfhj
Jak mam zmodyfikować skrypcik, żeby zapisywał mi w takiej postaci jak podałem u góry?

Pozdrawiam
RaV.
Posty: 87
Rejestracja: 28 czerwca 2006, 15:30
Lokalizacja: 127.0.0.1

Post autor: RaV. »

Jeśli chodzi Ci o cudzysłowie, a raczej jego brak, to poprzedź je backslashem ("\").
Przykład:

Kod: Zaznacz cały

MAC="00:50:aa:aa:aa:aa"
echo "$MAC"
echo "\"$MAC\""
dan-j2
Beginner
Posty: 127
Rejestracja: 17 maja 2007, 13:31

Post autor: dan-j2 »

Dzięki wielkie dopiero się uczę pisania skryptów w bashu i juz będę wiedział na przyszłość :)
ODPOWIEDZ