Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  1 585
Ok, er det noen som klarer å feilsøke dette ?:

Kode

#!/bin/bash
# telefonscripte mitt, reis åt helvett før du ender på kodn
# -nohope

#Seperate variables with uppercase.
TLF="/home/nohope/tlf"


#KDE, TERMINAL OR NOTHING?
if [ "$*" == "" ]; then
echo "Atleast ONE argument is required, wildcards etc. not allowed."
echo "You can also use the kdeinterface by using \"KDE\" as a argument. (req: kdialog)"
echo "tlf.sh 1.0 - nohope/iHope@EFnet"
exit
else
:
fi

function kinterface() {
# This function will probably take.. somewhat longer then i expected:P
echo "kdialog starting .."
kdialog --title "WARNING!" --msgbox "Hvis du får mer enn 5 (fem) treff, så vil kdialog gå ut av propsjoner, hvilket betyr at du må begrense søket ditt for å kunne SE kontaktene du finner.\nDette betyr også at \"OK\"-knappen ikke vil synes, bruk ESC for å avslutte hvis dette forekommer."
ARG=$( kdialog --title "Telefonboka" --inputbox "Search for:" "navn/nummer/nick/bosted/epost" );
TREFF=0
TREFF="`cat $TLF |grep -i $ARG |wc -l`"
if [ "$TREFF" = "0" ]; then
kdialog --title "Telefonboka" --sorry "Ditt søk på '$ARG' ga ingen treff. Prøv igjen."  #Find a way to allow retries (todo)
exit
else
new=$( kdialog --title "Telefonboka"  --inputbox "`cat $TLF |grep -i $ARG |awk -F % '{print "\n"$1"\n"$2"\n"$3"\n"$4"\n"$5}'`" "navn/nummer/bosted/nick/epost" );
if [ "$new" = "" ]; then
:
else
kdialog --title "Telefonboka" --msgbox "jaddÆ"
exit
fi
}
ARG="$*"
case $ARG in
        'kde'|'KDE')
        if [ -e "/usr/bin/kdialog" ]; then :;else echo -e "\nSorry, kdialog does not exist in your PATH\nThe kdialog wishes to be named as /usr/bin/kdialog ..\nExiting.";exit;fi
        kinterface
;;
        *)
        :
esac

TREFF=0 #Nullpointer
TREFF="`cat $TLF |grep -i $ARG |wc -l`"
if [ "$TREFF" = "0" ]
then
echo "Ditt søk på '$*' ga ingen treff. Prøv igjen";exit
else
echo "Ditt søk på '$*' ga $TREFF treff:"
echo ""
fi

#Well, this is kinda the tricky part.. To get more then just one result, i don't want to use while, i'd rather use awk:)
#If you want to edit, make sure the $variable ($1,$2, $3) is OUTSIDE of the quotes(""), otherwise they will just appear as $variable
cat $TLF |grep -i $ARG |awk -F % '{print "<-\nNavn  : "$1"\nNick  :"$2"\nBosted:"$3"\nTlf   :"$4"\nEpost :"$5"\n->\n"}'
Feilbeskjeden er:

Kode

tlf.sh: line 37: syntax error near unexpected token `}'
tlf.sh: line 37: `}'
Problemet ligger i funksjonen kinterface en plass, hvis man # ut hele kinterface-greia, funker det fett med konsoll. Men ville ha noe "litt" mer brukervennlig.. :P

Jeg har forøvrig testet med syntax hilihgt (i vim), men uten å kunne se hvor feilen ligger..
Sist endret av colamannen; 2. november 2005 kl. 19:17.
Tja. jeg fant ut av det
Scriptet er nå ferdig og kan lastes ned her: http://nohope.nukethenet.com/files/tlf.sh