Permissão negada ao executar scripts .sh

40
./geany_run_script.sh: 5: ./geany_run_script.sh: ./Area_circumference: Permission denied

program exited with code: 126 . Esse problema sempre ocorre quando tento executar meu código. Qual pode ser a solução?

    
por wkhwilo 22.01.2014 / 07:44

3 respostas

69

Aqui está um link que explica sobre Alteração da permissão de arquivo (e propriedade)

Se você quiser pular estes (por enquanto, é claro), você pode criar um diretório / pasta em seu diretório user-home e trabalhar com seus programas C (ou outros) lá.

Você pode abrir o terminal (pressionar Ctrl + Alt + T ) e cd no diretório de destino:

cd /path/to/target

Para dar ao arquivo "the_file_name" permissão de execução (se o sistema de arquivos permitir você com os direitos RW):

chmod +x the_file_name
    
por precise 22.01.2014 / 08:07
13

Você precisa dar apenas permissão de execução. Siga isto:

    chmod +x filename.sh
    ./filename.sh

Quando criamos um novo arquivo de script, por padrão, ele tem permissão de leitura e gravação. Mas se quisermos executá-los, devemos dar permissão de execução conforme mostrado acima.

    
por Jay 06.08.2014 / 06:07
0

Abra o aplicativo do terminal pressionando CTRL + ALT + T ou com o atalho apropriado no ambiente gráfico (como Terminal ou xTerm ).
Na janela uniforme que aparece na tela, você verá um caractere piscando, é o terminal cursor : basta clicar na janela e escrever para inserir texto (geralmente comandos) e pressionar ENTER para confirmar a entrada.
Antes do cursor, sempre é listada sua posição atual no sistema de arquivos a partir do root directory ("/") e sua casa (onde estão seus arquivos pessoais) é chamada "~". Para alterar o diretório / pasta use cd EXISTENTFOLDER (substitua EXISTENTFOLDER pelo nome da pasta); Se você se sentir perdido, simplesmente digite cd para retornar ao seu diretório home em um piscar de olhos!
Agora vamos resolver seu problema :

  1. Use o comando cd para encontrar o diretório com seu código-fonte. Use TAB para ajudá-lo. Se você executar ls -lh , verá uma lista de possíveis caminhos a serem seguidos e arquivos a serem executados.

  2. Quando você encontrar o arquivo bloqueado, execute chmod +x FILENAME (substitua FILENAME pelo nome do seu arquivo de código-fonte).

  3. Se você tiver vários arquivos bloqueados, execute chmod +x * para desbloquear todos os arquivos no diretório atual. Nunca chmod + x arquivos perigosos ou inseguros .

  4. Execute ./FILENAME YOUREVENTUALARGUMENTS para executar seu arquivo executável.

  5. Lembre-se de que, se o programa compilado tentar ler / gravar fora do seu diretório pessoal, será necessário executá-lo como root usando sudo ./FILENAME YOUREVENTUALARGUMENTS .

Se você deseja ter um manual para um comando execute man COMMAND (substitua COMMAND pelo nome exato do comando, o Linux faz distinção entre maiúsculas e minúsculas).

Algumas shells possuem um comando Open terminal here para simplificar sua vida, procurá-lo no futuro e lembrar que o shell de comando pode ser seu melhor amigo, se você usá-lo bem. :-D

É tudo. Se você precisar de mais ajuda, comente aqui. Se eu estou ajudando você a pressionar a seta para cima à esquerda; se resolver, marque esta resposta como melhor resposta.

Tenha uma boa experiência no Linux & amp; Ubuntu.

    
por Lorenzo Ancora 22.01.2014 / 11:42

Tags