Permiso denegado al ejecutar scripts .sh

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

wkhwilo
fuente
1
Permission deniedEl error se produce solo si no tiene privilegios suficientes para acceder a ese archivo.
Avinash Raj
¿Cómo puedo cambiar los permisos?
wkhwilo
¿Dónde hago eso? Por favor, dame un ejemplo de tiro
wkhwilo
Cuando hago eso, me dice que este chmod: no puede acceder a `geany_run_script.sh ': No existe tal archivo o directorio. ¿Debo ejecutarlo desde la terminal o qué?
wkhwilo
posible duplicado de ¿Cómo ejecuto archivos .sh en Terminal?
Eliah Kagan

Respuestas:

118

Aquí hay un enlace que explica sobre 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 Cprogramas (u otros) allí.


Puede abrir el terminal (presione Ctrl+ Alt+ T) y cden el 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
preciso
fuente
¿Cómo puedo cambiar los permisos? Ejemplos
wkhwilo
El problema, ¿cómo puedo hacer eso? Soy un nuevo usuario de Ubuntu que recientemente cambié de Windows.
wkhwilo
.. cuál es su directorio de trabajo, es decir. ¿Cuál es la ubicación de su archivo de código fuente? ..tiene alguna experiencia con Windows CLI?
preciso
@ wkhwilo-012, vea si eso ayuda y no dude en preguntar más ...
precisa
@ wkhwilo-012, copie su archivo ejecutable Area_circumferencey péguelo (se pegará la ruta del archivo) para actualizar el cuerpo de su pregunta ...
preciso
20

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.

Jay Modi
fuente
2

Abra su aplicación de terminal presionando CTRL+ ALT+ To con el acceso directo correspondiente en el entorno gráfico (como Terminalo 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 ENTERpara 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 uso del directorio / carpeta cd EXISTENTFOLDER(reemplace EXISTENTFOLDER con el nombre de la carpeta); Si se siente perdido, simplemente escriba cdpara volver a su directorio de inicio en un abrir y cerrar de ojos.
Ahorasolucionemos tu problema :

  1. Use el cdcomando para encontrar el directorio con su código fuente. Úselo TABpara 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. Ejecutar ./FILENAME YOUREVENTUALARGUMENTSpara ejecutar su archivo ejecutable.

  5. Recuerde que si su programa compilado intenta leer / escribir fuera de su directorio personal que necesita para ejecutarlo como rootmediante el uso sudo ./FILENAME YOUREVENTUALARGUMENTS.

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

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

Es todo Si necesita más ayuda, comente 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.

Lorenzo Ancora
fuente
Muchas gracias. Ahora puedo trabajar en el directorio de inicio. La operación que me preguntaste antes no se puede permitir. Dice que no tengo permiso, pero gracias de todos modos por la sugerencia.
wkhwilo