Por que o terminal mostra que não temos permissão de execução em nosso arquivo se é possível executa-lo através do comando sh.
Por que o terminal mostra que não temos permissão de execução em nosso arquivo se é possível executa-lo através do comando sh.
Encontrei algo, parece que o sh se trata na verdade de um interpretador e que tendo a permissão é possível a execução sem utiliza-lo. Mas essa característica não tira um pouco da necessidade em si dessa permissão, já que podemos sempre utilizar o shell ?
Olá Gabriel, tudo bem?
Desculpe pela demora no retorno!
E sim, você tem razão, o sh
, também conhecido como Bourne Shell é um interpretador de linhas de comandos e pode ser utilizado como uma alternativa de executar scripts. Ou seja, podemos utilizar apenas o comando sh realizaBackup
ao invés de alterar as permissões de acesso com o comando chmod +x realizaBackup
que no final teremos o mesmo resultado de execução.
Entretanto, a permissão se torna necessária porque sistemas baseados em Unix possui suporte a multiusuário, ou seja, caso o seu computador esteja conectado a uma rede de computadores, é possível que mais de um usuário possa utilizá-lo simultaneamente. Dessa forma, para uma boa funcionalidade deste recurso, se têm a permissão de arquivos com o propósito de proteção.
Dessa maneira, a permissão soluciona problemas como um usuário desligar o sistema enquanto outro usuário está usando ou que apague algum arquivo importante sem o consentimento do outro usuário.
Caso queira ler um pouco mais sobre:
Espero que tenha te ajudado! E qualquer coisa, estou à disposição!
Bons estudos :)