Variable Lebensdauer in Bash-Schleife aufrechterhalten

Variable Lebensdauer in Bash-Schleife aufrechterhalten

Ich versuche, die Anzahl der Dateien mit Ausführungsberechtigung des Eigentümers zu ermitteln. Ich mache das, aber bekomme einen Fehler

cmd> ls -la /myScript.sh

myScript.sh ist das Folgende

z=0
while read line
do

    #for total lines read
    #wc -l
    #total unique user
    #top three largest directory
    #for total executables
    for i in $(echo $line | sed -n '/^-rwx/p'| wc -l)
    do
         #echo $i #process in this if-then filter out 0 and sum non-zero
         if [$i -ne 0]
         then

            echo $i
        #   $(z=z+i)

         fi
    done    


done


echo "Total executable files by owner $z";

Antwort1

Erwägen Sie die Verwendung von findund wc.

Lesen Sie deren Handbücher. Ihr Skript kann in einer Zeile ausgeführt werden:

find . -type f -perm -u=x | wc -l

verwandte Informationen