Estou tentando executar um script de shell que contém o comando
$locate /etc/*.conf
para encontrar todos os arquivos em /etc/ que terminam em .conf, mas sempre que executo o script, a linha de comando diz /etc/chrony.conf: Permission denied
. Sempre que executo o comando sozinho na linha de comando, ele é executado bem, mas no script ele falha. Atualizei as permissões do script com chmod, tentei executar o script com privilégios sudo, conceder privilégios sudo dentro do próprio script e até mesmo fazer login como root, mas ainda está dizendo permissão negada.
Qualquer ajuda é apreciada, obrigado!
Remova o cifrão.
Quando você escreve,
$locate
o shell procura a variável chamada "localizar", não o executável.Como você não tem uma variável chamada "locate", você está efetivamente chamando:
O glob se expande para todos os arquivos que correspondem a ele e o shell deseja executar esses arquivos. O primeiro nome de arquivo no seu caso é
/etc/chrony.conf
e, como esse arquivo não é executável, ele gera o erro.