The UNIX and Linux Forums  
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.

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 03-18-2009
joyrules joyrules is offline
Registrierte Nutzer
  
 

Join Date: März 2009
Beiträge: 3
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
  #2 (permalink)  
Old 03-18-2009
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Join Date: Dezember 2007
Ort: Haus der 17-Weltmeister Boston Celtics
Beiträge: 1311
Cool Bitte repost Sie den Code mit CODETAGS

Wenn Sie Ihr Skript einfügen, markieren Sie diese und klicken Sie dann auf die # auf die Symbole bar über diese wird die Formatierung. Dies macht es sehr viel leichter, den Code und die verschiedenen Bedingungen.
  #3 (permalink)  
Old 03-18-2009
joyrules joyrules is offline
Registrierte Nutzer
  
 

Join Date: März 2009
Beiträge: 3
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
  #4 (permalink)  
Old 03-18-2009
joyrules joyrules is offline
Registrierte Nutzer
  
 

Join Date: März 2009
Beiträge: 3
Danke

Dank Joyeg
  #5 (permalink)  
Old 03-18-2009
methyl methyl is offline
Registrierte Nutzer
  
 

Join Date: März 2008
Beiträge: 1,175
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.
  #6 (permalink)  
Old 03-18-2009
angad.makkar angad.makkar is offline
Registrierte Nutzer
  
 

Join Date: März 2009
Beiträge: 16
Thumbs up Dies funktioniert ....

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
Lemme Know Incase eines Problems


Auch für Ihre Fehler erklären, versuchen Sie Ihr Skript in der Bash-Shell.
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 02:46 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0