쉘 스크립트에서 폴더 권한 확인/변경

쉘 스크립트에서 폴더 권한 확인/변경

특정 폴더에 패키지를 다운로드하는 스크립트를 작성 중입니다.

그러나 모든 사용자가 해당 폴더에 패키지를 다운로드하고 거기에 설치된 패키지를 사용할 수 있기를 바랍니다. 어떻게 해야 하나요?

폴더의 권한을 확인/변경하고 싶습니다 /usr/local/src. if/else 문을 올바르게 사용하는 방법을 모르겠습니다. 본문에서는 다음과 같습니다(제 생각에는):if stat/permission of src folder isn't 777 then chmod to 777

답변1

stat -c "%a" /usr/local/src전체 권한을 얻는 데 사용할 수 있습니다 . 하지만 777 대신 1777을 고려해야 합니다.

그처럼

if [ "$(stat -c '%a' /usr/local/src)" == "777" ]
then
  # something
else
  # something else
fi

다른 질문에 대한 답변으로 권한이 이미 777이면 아무런 영향이 없습니다.

편집: 오타를 수정했습니다. @Alexej Magura 이중 괄호를 사용해야 하는 이유는 무엇입니까? 내가 아는 한 이것은 산술 표현식으로 변합니다.

관련 정보