Autor Tópico: chmod  (Lida 3005 vezes)

Offline Osmario

  • Usuário Ubuntu
  • *
  • Mensagens: 17
    • Ver perfil
chmod
« Online: 21 de Junho de 2012, 22:35 »
Oi!

Fiz meu primeiro script que funciona perfeitamente. Chamo-o assim ./meuscript
Agora a minha dúvida é sobre o comando chmod +x  que os manuais afirmam tornar o script executável. Onde devo colocar tal comando pois, sem ele, o script está funcionando?

Grato
Osmário

Offline Richether

  • Usuário Ubuntu
  • *
  • Mensagens: 72
    • Ver perfil
Re: chmod
« Resposta #1 Online: 21 de Junho de 2012, 22:49 »
o comando chmod +x dá permissão de execução ao script
o comando deve ser digitado da seguinte forma no konsole(terminal)
Código: [Selecionar]
chmod +x nomedoscript
Kubuntu 12.04 LTS 64 bits
linux total participe!

Offline Osmario

  • Usuário Ubuntu
  • *
  • Mensagens: 17
    • Ver perfil
Re: chmod
« Resposta #2 Online: 21 de Junho de 2012, 23:16 »
Obrigado por sua resposta.
Se entendi o que vc escreveu devo usar o comando para tornar o script executável. Mas minha dúvida é se, digitando este comando no terminal, não preciso mais fazê-lo nas próximas vezes que for usar o script ou tenho que repetir sempre?
grato

Offline Tota

  • Usuário Ubuntu
  • *
  • Mensagens: 14.982
    • Ver perfil
Re: chmod
« Resposta #3 Online: 22 de Junho de 2012, 11:49 »
Ola

Não, não precisa. É uma vez só.

Leia sobre premissões no guia foca linux, disponivel gratuitamente na rede.

Lá voce pode ver como são feitas as permissões de arquivos e pastas no GNU/Linux.


[]'s

Offline fpissarra

  • Usuário Ubuntu
  • *
  • Mensagens: 246
    • Ver perfil
    • Lost in the e-Jungle
Re: chmod
« Resposta #4 Online: 26 de Junho de 2012, 17:03 »
O Tota já te respondeu, mas eis mais algumas considerações... Suponhamos que eu crie o seguinte script (e chamá-lo de test.sh):

Código: [Selecionar]
#!/bin/bash
echo Ola!

Eis o que acontece:

Código: [Selecionar]
$ ls -l test.sh
-rw-rw-r-- 1 frederico frederico 23 Jun 26 16:57 test.sh
$ ./test.sh
bash: ./test.sh: Permission denied
$ chmod +x test.sh
$ ls -l test.sh
-rwxrwxr-x 1 frederico frederico 23 Jun 26 16:57 test.sh
$ ./test.sh
Ola!
$

Note que sem o atributo 'x', o script não pode ser executado. Só depois de ajustar o atributo é que o shell irá interpretar o script.
Você ainda pode dar permissão de execução para o dono do arquivo, para o grupo ao qual o dono do arquivo pertence e aos outros usuários, individualmente. Por exemplo, ao invés de usar "+x" no chmod, podemos fazer:

Código: [Selecionar]
$ chmod u+x test.sh
$ ls -l test.sh
-rwxrw-r-- 1 frederico frederico 23 Jun 26 16:57 test.sh

[]s

Darcamo

  • Visitante
Re: chmod
« Resposta #5 Online: 28 de Junho de 2012, 22:15 »
Acabei de postar um tópico com a dica de um livro interessante sobre a linha de comando e linux em geral (mas é em inglês). Tem um capítulo nele só falando de permissões.

http://ubuntuforum-br.org/index.php/topic,97293.0.html