Vai al contenuto

"Permission denied" da terminale


Messaggi raccomandati

Buongiorno, sto iniziando a programmare in C per un esame universitario tuttavia ho un problema, quando provo a eseguire un programma dal terminale (anche il banale "hello world") mi dice "permission denied". Esistono altri comandi per eseguire un "file.c" oltre al comando "./"? Navigando sul forum ho visto che molti consigliano di usare il comando "sudo" per forzare l'operazione...digitandolo mi chiede di inserire la password dopodiché mi esce la scritta "command not found". Ringrazio in anticipo chi mi aiuterà 😊

Link al commento
Condividi su altri siti

Buongiorno, sto iniziando a programmare in C per un esame universitario tuttavia ho un problema, quando provo a eseguire un programma dal terminale (anche il banale "hello world") mi dice "permission denied". Esistono altri comandi per eseguire un "file.c" oltre al comando "./"? Navigando sul forum ho visto che molti consigliano di usare il comando "sudo" per forzare l'operazione...digitandolo mi chiede di inserire la password dopodiché mi esce la scritta "command not found". Ringrazio in anticipo chi mi aiuterà

domanda banale, ti sei posizionato sulla cartella dell'eseguibile unix?

hai compilato il .c con gcc? (il file eseguibile unix è senza estensione)

hai provato a cambiare i permessi del file in questione con chmod 777 nomefileeseguibileunix?

Link al commento
Condividi su altri siti

niente :(. Ecco cosa esce:

 

matteos-MacBook-Air:Desktop Matteo$ chmod 777 main.c

matteos-MacBook-Air:Desktop Matteo$ ./main.c

./main.c: line 1: //: is a directory

./main.c: line 2: //: is a directory

./main.c: line 3: //: is a directory

./main.c: line 4: //: is a directory

./main.c: line 5: //: is a directory

./main.c: line 6: //: is a directory

./main.c: line 7: //: is a directory

./main.c: line 11: syntax error near unexpected token `('

./main.c: line 11: `int main(int argc, const char * argv[]) {'

matteos-MacBook-Air:Desktop Matteo$ 

 

Gli errori che mi restituisce non so se si riferiscono al programma contenuto in "main.c"...il che sarebbe abbastanza strano visto che è il classico "Hello world" che si trova già scritto

Link al commento
Condividi su altri siti

(il file eseguibile unix è senza estensione)

 

ecco qual'è il problema... tenti di avviare il file c sorgente al posto del file eseguibile unix.

 

./main

(se lo hai chiamato uguale al file c sorgente).

Link al commento
Condividi su altri siti

Hai ragione Lief :)!!!

Ho avviato il file eseguibile ed è andato senza problemi, ti ringrazio tanto, non ne sarei venuto a capo senza di te...mi spiace solo di averti fatto sprecare tempo (e di aver aperto un thread) per un errore così stupido :(. Ti ringrazio ancora, buona serata!

Link al commento
Condividi su altri siti

Hai ragione Lief :)!!!

Ho avviato il file eseguibile ed è andato senza problemi, ti ringrazio tanto, non ne sarei venuto a capo senza di te...mi spiace solo di averti fatto sprecare tempo (e di aver aperto un thread) per un errore così stupido :(. Ti ringrazio ancora, buona serata!

figurati, può capitare a tutti (gli errori di questo genere sono i più "stronzi" perchè sono cose che di solito i manuali e chi vuole aiutarti da per scontate).

 

in ogni caso per c se vuoi un consiglio scaricati il pdf gratuito:

http://blacklight.gotdns.org/guidac.pdf

 

le basi sono spiegate bene, è tra i pochi pdf di programmazione in italiano fatti bene (credo sia grazie al fatto che c è abbastanza vecchio ormai e si aggiorna più lentamente) e ti da subito un sacco di esempi da usare, io l'ho usato come autodidatta e quando ho iniziato a fare c all'università ero già più preparato.

E questo non per l'errore che hai fatto (che in fondo è una stupidata), ma perchè avere un manuale ben fatto a portata di mano è sempre molto utile.

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...