Autorizzazione negata durante l’esecuzione di script .sh

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

program exited with code: 126 . Questo problema si verifica sempre quando provo ad eseguire il mio codice. Quale potrebbe essere la soluzione?

Ecco un link che spiega su Modifica del permesso (e della proprietà) del file

Se vuoi saltare questi (per ora ovviamente), puoi creare una directory / cartella nella tua directory home dell’utente e lavorare sui tuoi programmi C (o altri) lì.


È ansible aprire il terminale (premere Ctrl + Alt + T ) e cd nella directory di destinazione:

 cd /path/to/target 

Per dare il file “the_file_name”, esegui il permesso (se il file system ti consente i diritti RW):

 chmod +x the_file_name 

Devi dare solo il permesso di esecuzione. Segui questo:

  chmod +x filename.sh ./filename.sh 

Quando creiamo un nuovo file di script, per impostazione predefinita ha i permessi di lettura e scrittura. Ma se vogliamo eseguirli, allora dovremmo dare il permesso di esecuzione mostrato sopra.

Apri la tua applicazione terminale premendo CTRL + ALT + T o con l’apposita scorciatoia nell’ambiente grafico (come Terminal o xTerm ).
Nella finestra uniforms che appare sullo schermo vedrai un carattere lampeggiante, è il terminal cursor del terminal cursor : clicca semplicemente sulla finestra e scrivi per inserire il testo (in genere i comandi) e premi ENTER per confermare l’input.
Prima del cursore viene sempre elencata la posizione corrente sul file system dalla root directory (“/”) e la tua casa (dove sono i tuoi file personali) è chiamata “~”.
Per cambiare directory / cartella usa cd EXISTENTFOLDER (sostituisci EXISTENTFOLDER con il nome della cartella); se ti senti perso, digita semplicemente cd per tornare alla tua home directory in un batter d’occhio!
Ora risolviamo il tuo problema :

  1. Usa il comando cd per trovare la directory con il tuo codice sorgente. Usa il TAB per aiutarti. Se esegui ls -lh , vedrai un elenco di possibili percorsi da seguire e file da eseguire.

  2. Quando trovi il file bloccato, esegui chmod +x FILENAME (sostituisci FILENAME con il nome del tuo codice sorgente).

  3. Se hai più file bloccati, esegui chmod +x * per sbloccare tutti i file nella directory corrente. Mai chmod + x file pericolosi o non sicuri .

  4. Esegui ./FILENAME YOUREVENTUALARGUMENTS per eseguire il file eseguibile.

  5. Ricorda che se il tuo programma compilato tenta di leggere / scrivere fuori dalla tua directory home dovrai eseguirlo come root usando sudo ./FILENAME YOUREVENTUALARGUMENTS .

Se vuoi avere un manuale per un comando esegui man COMMAND (sostituisci COMMAND con il nome esatto del comando, Linux fa distinzione tra maiuscole e minuscole).

Alcune shell hanno un Open terminal here comando per semplificare la tua vita, cercarla in futuro e ricordare che la shell di comando può essere la tua migliore amica, se la usi bene. 😀

È tutto Se hai bisogno di ulteriori commenti di aiuto qui sotto.
Se ti sto aiutando, premi la freccia SU a sinistra; se risolvi, segna questa risposta come migliore risposta.

Buona esperienza su Linux e Ubuntu.