permissões de execução do Linux

1
-rw-r--r--. 1 myusername developers 169 May 17 09:01 build.sh

Por que eu posso executar o script build.sh a partir da linha de comando se ele não tiver permissões de execução, mas quando o crontab tenta executá-lo, ele falha?

    
por DD. 23.05.2012 / 09:57

1 resposta

5

Você não pode executá-lo a partir da linha de comando, porque ele não tem permissões de execução.

O que você pode fazer é obtê-lo a partir da linha de comando,

. ./build.sh

que faz com que o shell atual execute os comandos no arquivo como se estivessem sendo digitados na linha de comando.

Você não pode fazer isso do cron, então você precisa dar as permissões de execução do script ( chmod 744 build.sh ).

Você também pode executar scripts executando um shell e passando o script para ele, como

sh build.sh

Isso porque você está executando sh (que tem a permissão + x), e está lendo o arquivo build.sh e executando os comandos como se eles tivessem sido digitados na linha de comando antes de sair.

    
por 23.05.2012 / 10:27