Ok, er det noen som klarer å feilsøke dette ?:
Feilbeskjeden er:
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..
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"}'
Kode
tlf.sh: line 37: syntax error near unexpected token `}' tlf.sh: line 37: `}'
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.