설명하다

설명하다

나는 이 스크립트를 가지고 있으며 그것을 단순화하고 싶습니다. 도움을 주시면 대단히 감사하겠습니다.

#!/bin/ash
chmod 775 /path/to/directory
chown -R http:http /path/to/directory
cd /path/to/directory
find . -type d -exec chmod 775 {} \; ; find . -type f -exec chmod 664 {} \;

chmod 775 /path/to/directory1
chown -R http:http /path/to/directory1
cd /path/to/directory1
find . -type d -exec chmod 775 {} \; ; find . -type f -exec chmod 664 {} \;

chmod 775 /path/to/directory2
chown -R http:http /path/to/directory2
cd /path/to/directory2
find . -type d -exec chmod 775 {} \; ; find . -type f -exec chmod 664 {} \;

감사해요.

답변1

#!/bin/ash
for i in \
         '/path/to/directory'  \
         '/path/to/directory1' \
         '/path/to/directory2' \
;do
    chmod 775 "$i"
    chown -R http:http "$i"
    cd "$i" && \
    find . \
       -type d -exec chmod 775 {} \; \
                  -o \
       -type f -exec chmod 664 {} \;
    done

설명하다

dir1/2/3에서 동일한 작업 세트를 수행하므로 루프 아래로 이동하는 것이 합리적입니다.

부울 논리 규칙을 사용하면 두 개의 찾기 명령을 하나의 찾기 명령으로 이동할 수도 있습니다.

관련 정보