Syntax Error "(" unexpected

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • HyperBart
  • Registratie: Maart 2006
  • Laatst online: 23:30
Ik heb via een scriptje gedownload waarmee ik mijn diskspace periodiek wil testen, en indien mijn disk-usage hoger is dan 90% een ander script uitvoert wat bepaalde dingen moved en opruimt naar een grotere datastore...

Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh
# set -x
# Shell script to monitor or watch the disk space
# It will send an email to $ADMIN, if the (free available) percentage of space is >= 90%.
# -------------------------------------------------------------------------
# Set admin email so that you can get email.
ADMIN="bart"
# set alert level 90% is default
ALERT=90
# Exclude list of unwanted monitoring, if several partions then use "|" to separate the partitions.
# An example: EXCLUDE_LIST="/dev/hdd1|/dev/hdc5"
EXCLUDE_LIST="/auto/ripper"
#
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#
function main_prog() {
while read output;
do
#echo $output
  usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1)
  partition=$(echo $output | awk '{print $2}')
  if [ $usep -ge $ALERT ] ; then
     echo "Running out of space \"$partition ($usep%)\" on server $(hostname), $(date)" | \
     mail -s "Alert: Almost out of disk space $usep%" $ADMIN
  fi
done
}

if [ "$EXCLUDE_LIST" != "" ] ; then
  df -H | grep -vE "^Filesystem|tmpfs|cdrom|${EXCLUDE_LIST}" | awk '{print $5 " " $6}' | main_prog
else
  df -H | grep -vE "^Filesystem|tmpfs|cdrom" | awk '{print $5 " " $6}' | main_prog
fi


Ik heb het gechmod met +x en als ik het uitvoer met "sh" dan krijg ik volgende foutmelding:

bart@Pyro:~$ sh checkDiskSpace.sh
checkDiskSpace.sh: 16: Syntax error: "(" unexpected


Ik heb het script al een paar keer overlopen, dat "(" unexpected lijkt mij dat er ergens in het script iemand vergeten is om het haakje af te sluiten of een ";" te plaatsen, als ik het mij goed herinner van mijn lessen programmeren... Maar ik zie op het eerste zicht niets, is er dieper nog iets fout of mist er toch ergens iets waar ik ook over kijk?

Acties:
  • 0 Henk 'm!

  • muppet99
  • Registratie: Juli 2002
  • Laatst online: 01:18
heb je dit script ergens vandaan gehaald? Want ik zie dat het oorspronkelijk was om een mail te sturen wanneer de diskquota is verlopen. Daarnaast is dit volgens mij maar een deel van de code. Hij verwijst naar main program, maar dit kan ik nergens terugvinden.... (voor zover mijn programmeer kennis rijkt ;))

Carpe Diem


Acties:
  • 0 Henk 'm!

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 23:25

Reptile209

- gers -

offtopic:
nevermind

[ Voor 91% gewijzigd door Reptile209 op 31-08-2011 13:50 ]

Zo scherp als een voetbal!


Acties:
  • 0 Henk 'm!

  • Mijzelf
  • Registratie: September 2004
  • Niet online
Probeer eens #!/bin/bash op de eerste regel.

Acties:
  • 0 Henk 'm!

  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 21:51

Super_ik

haklust!

probeer op regel 16 eens
code:
1
 function main_prog {

of
code:
1
 main_prog() {

;)
zie ook:
http://tldp.org/LDP/abs/html/functions.html

[ Voor 3% gewijzigd door Super_ik op 31-08-2011 14:04 ]

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek