![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Nachdruck werfendes Fehler: Unix-Skript | dr46014 | UNIX for Dummies Questions & Answers | 1 | 10-01-2008 04:42 AM |
| awk Shell-Script-Fehler: "Syntax Fehler:" Split "unerwartete | Herry | UNIX for Dummies Questions & Answers | 2 | 03-17-2008 11:16 AM |
| Fehler beim Brand a PL / SQL thro Unix Script | dharmesht | Shell Programmierung und Scripting | 5 | 12-11-2003 10:10 AM |
| UNIX-Fehlerprotokoll | eysheikah | Sicherheit | 3 | 05-31-2003 09:21 AM |
| SCO UNIX-Fehler 6, HILFE | PBNOSGT | UNIX for Dummies Questions & Answers | 0 | 02-01-2002 11:46 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Fehler in der Unix-Script
Hi!
Im Anschluss ist das Skript, um die Anzahl der Benutzer und der Fläche, die von ihnen in das Verzeichnis Aber ich bin immer einige Fehler Pls help me Code:
data=`ls -lt $1 |tr -t [' '] ['\t']|tr -s '\t'|cut -f3,5`
count=0
flag=1
sum=0
users_flag=1
check=0
declare -a users
for a in $data
do
if [ $users_flag -eq 1 ]
then
for ((i = 0; $i <= count; $i++))
do
if [ $a = ${users[$count]} ]
then
flag=0
break
fi
done
if [ $flag -eq 1 ]
then
users[$count]=$a
count=expr`$count + 1`
echo $a >> userdata
fi
users_flag=0
else
if [ $flag -eq 1 ]
then
for b in $data
do
if [ $check -eq 0 ]
then
if [ $b = $a ]
then
check=1
fi
else
sum=`expr $sum + $b`
check=0
fi
done
fi
fi
done
Fehler werden Q3: 7: erklären: nicht gefunden Q3: 9: Syntax error: word unerwarteten (erwartet "do") Zuletzt bearbeitet von joyrules; am 03-18-2009 10:39 AM.. Grund: Formatiert Skript |
|
||||
|
Agin Script Formatiert
Code:
data=`ls -lt $1 |tr -t [' '] ['\t']|tr -s '\t'|cut -f3,5`
count=0
flag=1
sum=0
users_flag=1
check=0
declare -a users
for a in $data
do
if [ $users_flag -eq 1 ]
then
for ((i = 0; $i <= count; $i++))
do
if [ $a = ${users[$count]} ]
then
flag=0
break
fi
done
if [ $flag -eq 1 ]
then
users[$count]=$a
count=expr`$count + 1`
echo $a >> userdata
fi
users_flag=0
else
if [ $flag -eq 1 ]
then
for b in $data
do
if [ $check -eq 0 ]
then
if [ $b = $a ]
then
check=1
fi
else
sum=`expr $sum + $b`
check=0
fi
done
fi
fi
done
|
|
||||
|
Welche Version von Unix / Linux?
uname-a Welche Shell? Ist das "sh", "ksh", "bash" oder was? echo $ SHELL Bitte zeigen Sie ein Beispiel dafür, was die Ausgabe des Skripts aussehen soll und ob Sie zählen Verzeichnis Größen sowie Dateien auf den pro-Nutzer insgesamt. Bitte geben Sie an, ob es Unterverzeichnisse in dem Verzeichnis, das Sie wünschen zu analysieren. |
|
||||
|
Hi Joyeg ....
Probieren Sie dies aus: Code:
#!/bin/bash
declare -a name_arr
declare -a size_arr
i=0
for files in `ls`
do
name=`ls -l $files | awk '{print $3}'`
size=`ls -l $files | awk '{print $5}'`
if [ $i -eq 0 ]
then
name_arr[$i]=`echo $name`
size_arr[$i]=`echo $size`
i=`expr $i + 1`
else
j=0
while [ $j -lt $i ]
do
if [ "${name_arr[$j]}" = "$name" ]
then
size_arr[$j]=`expr ${size_arr[$j]} + $size`
break
else
name_arr[$i]=`echo $name`
size_arr[$i]=`echo $size`
i=`expr $i + 1`
fi
j=`expr $j + 1`
done
fi
done
j=0
while [ $j -lt $i ]
do
echo "${name_arr[$j]} : ${size_arr[$j]}"
j=`expr $j + 1`
done
Auch für Ihre Fehler erklären, versuchen Sie Ihr Skript in der Bash-Shell. |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|