it-swarm-es.com

Permiso denegado al ejecutar scripts .sh

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

program exited with code: 126. Este problema siempre ocurre cuando intento ejecutar mi código. ¿Cuál podría ser la solución?

65
wkhwilo

Aquí hay un enlace que explica acerca de Cambiar el permiso de archivo (y la propiedad)

Si desea omitirlos (por ahora, por supuesto), puede crear un directorio/carpeta en su directorio de inicio de usuario y trabajar en sus programas C (u otros) allí.


Puede abrir la terminal (presione Ctrl + Alt + T) y cd al directorio de destino:

cd /path/to/target

Para otorgar permiso al archivo "the_file_name" (si el sistema de archivos le permite los derechos RW):

chmod +x the_file_name
111
precise

Solo debe otorgar permiso de ejecución. Sigue esto:

    chmod +x filename.sh
    ./filename.sh

Cuando creamos un nuevo archivo de script, por defecto tiene permiso de lectura y escritura. Pero si queremos ejecutarlos, entonces deberíamos dar permiso de ejecución como se muestra arriba.

20
Jay Modi

Abra su aplicación de terminal presionando CTRL + ALT + T o con el atajo apropiado en el entorno gráfico (como Terminal o xTerm).
En la ventana uniforme que aparece en la pantalla verá un carácter parpadeante, es el terminal cursor: simplemente haga clic en la ventana y escriba para ingresar texto (generalmente comandos) y presione ENTER para confirmar la entrada.
Antes del cursor, siempre aparece su posición actual en el sistema de archivos desde root directory ("/") y su hogar (donde están sus archivos personales) se llama "~".
Para cambiar el directorio/carpeta use cd EXISTENTFOLDER (reemplace EXISTENTFOLDER con el nombre de la carpeta); Si se siente perdido, simplemente escriba cd para volver a su directorio de inicio en un abrir y cerrar de ojos.
Ahora resolvamos su problema:

  1. Use el comando cd para encontrar el directorio con su código fuente. Use TAB para ayudarlo. Si ejecuta ls -lh, verá una lista de posibles rutas a seguir y archivos para ejecutar.

  2. Cuando encuentre el archivo bloqueado, ejecute chmod +x FILENAME (reemplace FILENAME con el nombre de su archivo de código fuente).

  3. Si tiene varios archivos bloqueados, ejecute chmod +x * para desbloquear todos los archivos en el directorio actual. Nunca chmod + x archivos peligrosos o inseguros.

  4. Ejecute ./FILENAME YOUREVENTUALARGUMENTS para ejecutar su archivo ejecutable.

  5. Recuerde que si su programa compilado intenta leer/escribir fuera de su directorio de inicio, deberá ejecutarlo como root usando Sudo ./FILENAME YOUREVENTUALARGUMENTS.

Si desea tener un manual para un comando, ejecute man COMMAND (reemplace COMMAND con el nombre exacto del comando, Linux distingue entre mayúsculas y minúsculas).

Algunos shells tienen un comando Open terminal here para simplificar tu vida, búscalo en el futuro y recuerda que el comando Shell puede ser tu mejor amigo, si lo usas bien. :-RE

Es todo Si necesitas más ayuda comenta aquí.
Si te estoy ayudando, presiona la flecha ARRIBA a la izquierda; si resuelve marque esta respuesta como la mejor respuesta.

Tener una buena experiencia en Linux y Ubuntu.

2
Lorenzo Ancora