Eu tenho um arquivo script.sh e o tipo deste arquivo é shellscript. Eu quero fazer este ficheiro como ficheiro application/x-executable. Como posso fazer isso?
Você pode marcar o arquivo como executável:
chmod +x filename.sh
Podes então executá-lo assim:
./filename.sh
Se você quiser usar um comando diferente para iniciá-lo, você pode adicionar um pseudônimo:
gedit ~/.bashrc
Adicione isto no final do arquivo:
alias <new name>='/home/<full path to script>/filename.sh'
Abra uma nova sessão terminal ou digite source ~/.bashrc
no seu terminal para candidatar-se.
Então simplesmente use o novo nome para iniciar o script.
Há duas maneiras de tornar um arquivo executável:
Método GUI:
Vá para a aba permissões e marque a caixa 'Executar': [ ] Permitir executar arquivo como programa.
Terminal / Método de Comando:
Você pode usar:
cd /to/minha/necessário/diretório'.
Então corra
chmod +x filename.extensão
Ou apenas correr:
"mod +x /caminho/para/seu/seu/filename.extensão
O chmod
também tem algumas opções mais avançadas:
Os espaços são para mostrar que está dividida: - rwx --- ---
O primeiro conjunto de `---' é User. O segundo é Grupo e o último é Outro (qualquer outra pessoa).
r significa Read, w significa Write e x significa eXecute.
Assim, para permitir que todos o leiam, mas apenas Grupo para executar e Usuário para ler e escrever (mas por alguma razão não executar) seria:
-rw- rx- r--
Mas isto seria adicionado ao comando como:
chmod +rw-rx-r-- /caminho/para/file.extension
O chmod
também pode fazer isso em números. É baseado em binário (acho que, como é 1,2 e 4).
Então, há estes números:
Executar por usuário é 100
.
Executar por grupo é 010
.
Executar por outro é 001
Escrever por usuário é 200
.
Escrever por grupo é 020
.
Escrever por outro é 002
.
Lido pelo usuário é 400
.
Lido por grupo é 040
.
Lido por outro é 004
.
Em seguida, você os adiciona para obter a combinação desejada.
Assim, para permitir que todos o leiam, mas apenas Grupo para executar e Usuário para escrevê-lo (mas por alguma razão não executar) seria:
400 + 040 + 004
e 010
e 200
.
Isso soma 600 + 050 + 004 = 654.
Você poderia então executar o comando.
chmod +654 /caminho/para/alcance.extensão
para defini-lo.
E para definir todas as permissões que você pode digitar:
chmod +rwxrwxrwxrwx /caminho/para/filial.extensão
Ou (isto é um pouco mais fácil de escrever, mas mais difícil de lembrar de cada um):
chmod +777 /caminho/para/alargamento.de ficheiro
Finalmente, você pode fazer:
chmod -777 /caminho/para/fil.extensão
Para tirar todas as permissões de todos.
E..:
"mod +300 /caminho/para/alcance.extensão
Para adicionar leitura e escrita para o usuário, sem afetar quaisquer outras permissões (por exemplo, Executar permissões).
Este site tem uma pequena caixa de seleção muito útil, onde você pode marcar as opções que você quer e ele lhe dá o comando:
No entanto, nem todas as combinações possíveis são sensatas de usar; as principais que são usadas são as seguintes:
755 - "Proprietário" tem tudo, e "Grupo" e "Outro" pode ler e executar
700 - "Proprietário" tem todos
644 - "Proprietário" sabe ler e escrever, e "Grupo" e "Outro" sabe ler
600 - "O proprietário" sabe ler e escrever
E, se você'estiver usando grupos de usuários não triviais:
775 - "Proprietário" sabe ler e escrever, e "Grupo" e "Outro" sabe ler
770 - "Proprietário" e "Grupo" têm todos, e "Outros" podem ler e executar
750 - "Proprietário" tem tudo, e "Grupo" pode ler e executar
664 - "Proprietário" e "Grupo" sabem ler e escrever, e "Outros" sabem apenas ler
660 - "Proprietário" e "Grupo" sabem ler e escrever
640 - "Proprietário" sabe ler e escrever, e "Grupo" sabe ler
777 e 666 são raramente utilizados, excepto em /tmp.
Obrigado Ilmari Karonen por apontar os de uso comum!
Os meus pronomes são Ele / Ele
Corre:
chmod +x /path/to/file.sh
Para o tornar inexecutável, corre:
chmod -x /path/to/file.sh
Por exemplo, eu criei o arquivo `.sh':
vi tester12.sh
Depois de escrever algum código no editor do vi, o i'sairá do editor do vi:
:wq!
chmod +x tester12.sh
./tester12.sh