Поддерживать переменную жизнь в цикле Bash

Поддерживать переменную жизнь в цикле Bash

Я пытаюсь найти количество файлов с разрешением на исполнение владельцем. Я делаю это, но получаю ошибку

cmd> ls -la /myScript.sh

myScript.sh — это следующее

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";

решение1

Рассмотрите возможность использования findи wc.

Прочитайте их руководства. Ваш скрипт можно сделать в одну строку:

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

Связанный контент