O espaço em branco é significativo:
spacing = "matters" # runs spacing. or tries to, anyways
spacing="matters" # probably more what you want
No meu servidor EC2 Linux, eu executei cegamente o chmod 777 no diretório que não deveria ter. Existem centenas de arquivos lá, e não tenho certeza de quais precisam voltar às permissões originais. Eu tenho servidor com exatamente as mesmas configurações. Então, eu estou tentando executar um script de shell que gera um comando chmod para cada arquivo no diretório. O plano é pegar os resultados e executá-los em um script de shell na outra máquina.
Eu quero que minha saída seja assim:
sudo chmod ### /somefilepath/
sudo chmod ### /somefilepath/
Meu script de shell agora se parece com:
#!/bin/sh
for file in /opt/bitnami/**
do
perm = "$(stat --format '%a' "$file")"
echo 'sudo chmod $perm "$file"'
done
Erros em cada arquivo com o perm não encontrado. O que estou fazendo errado?
Consegui corrigir isso depois da resposta abaixo, o script final é:
#!/bin/sh
FILES=$(find /opt/bitnami/ -name '*')
for file in $FILES
do
perm=$(stat --format '%a' "$file")
echo "sudo chmod $perm $file"
done
O espaço em branco é significativo:
spacing = "matters" # runs spacing. or tries to, anyways
spacing="matters" # probably more what you want