Permissão negada ao executar scripts .sh


71
./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?


11
Permission deniedocorrem apenas se você não tiver privilégios suficientes para acessar esse arquivo.
— Avinash Raj

Como posso alterar as permissões
— wkhwilo

Onde posso fazer isso por favor me dê um exemplo de tiro
— wkhwilo

Quando faço isso, diz-me o seguinte chmod: não pode acessar `geany_run_script.sh ': Não existe esse arquivo ou diretório. Devo executá-lo a partir do terminal ou o quê?
— Wkhwilo

Respostas:


118

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

Se você quiser pular estes (por enquanto, é claro), você pode criar um diretório / pasta no diretório inicial do usuário e trabalhar com seus Cprogramas (ou outros) lá.


Você pode abrir o terminal (pressione Ctrl+ Alt+ T) e cdpara o diretório de destino:

cd /path/to/target

Para dar ao arquivo "the_file_name", execute a permissão (se o sistema de arquivos permitir os direitos de RW):

chmod +x the_file_name

Como posso alterar as permissões de qualquer exemplos
— wkhwilo

O problema de como fazer isso? Eu sou um novo usuário do Ubuntu que mudei recentemente do Windows.
— Wkhwilo

..qual é o seu diretório de trabalho, ie. qual é a localização do seu arquivo de código-fonte? .. você tem alguma experiência com o Windows CLI?
— preciso

@ wkhwilo-012, ver se isso ajuda e por favor não hesite em pedir mais ..
— precisa

@ wkhwilo-012, copie o seu arquivo executável Area_circumferencee cole-o (o caminho do arquivo será colado) para atualizar o corpo da sua pergunta ...
— precisa

20

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

    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 queremos executá-los, devemos dar permissão de execução como mostrado acima.


2

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

  1. Use o cdcomando para encontrar o diretório com seu código-fonte. Use TABpara ajudá-lo. Se você executar ls -lh, verá uma lista dos possíveis caminhos a serem seguidos e dos 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. Executar ./FILENAME YOUREVENTUALARGUMENTSpara executar seu arquivo executável.

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

Se você deseja que um manual seja executado man COMMAND(substitua COMMAND pelo nome exato do comando, o Linux diferencia maiúsculas de minúsculas).

Algumas conchas têm um Open terminal herecomando para simplificar sua vida, procure-a no futuro e lembre-se de que o shell de comando pode ser seu melhor amigo, se você o usar bem. :-D

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

Tenha uma boa experiência no Linux e Ubuntu.


Muito obrigado. Agora eu posso trabalhar no diretório inicial. A operação que você me pediu anteriormente não pode ser permitida. Diz que não tenho permissão, mas agradeço de qualquer maneira pela sugestão.
— wkhwilo
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.