내 EC2 Linux 서버에서 실행하면 안 되는 디렉터리에서 chmod 777을 맹목적으로 실행했습니다. 거기에는 수백 개의 파일이 있는데 어떤 파일을 원래 권한으로 복원해야 할지 잘 모르겠습니다. 서버를 정확히 동일하게 구성했습니다. 그래서 디렉토리의 각 파일에 대해 chmod 명령을 출력하는 쉘 스크립트를 실행해 보았습니다. 내 계획은 결과를 얻고 이를 다른 컴퓨터의 쉘 스크립트에서 실행하는 것입니다.
내 출력이 다음과 같기를 원합니다.
sudo chmod ### /somefilepath/
sudo chmod ### /somefilepath/
내 쉘 스크립트는 이제 다음과 같습니다.
#!/bin/sh
for file in /opt/bitnami/**
do
perm = "$(stat --format '%a' "$file")"
echo 'sudo chmod $perm "$file"'
done
모든 파일에서 오류가 발생하고 perm을 찾을 수 없습니다. 내가 뭘 잘못했나요?
다음 응답 후에 문제를 해결할 수 있었고 최종 스크립트는 다음과 같습니다.
#!/bin/sh
FILES=$(find /opt/bitnami/ -name '*')
for file in $FILES
do
perm=$(stat --format '%a' "$file")
echo "sudo chmod $perm $file"
done
답변1
공백이 중요합니다.
spacing = "matters" # runs spacing. or tries to, anyways
spacing="matters" # probably more what you want