Saltar al contenido

Cómo hacer que un archivo (por ejemplo, un script .sh) sea ejecutable, para que pueda ejecutarse desde una terminal

Solución:

Puede marcar el archivo como ejecutable:

chmod +x filename.sh

Luego puede ejecutarlo así:

./filename.sh

Si desea utilizar un comando diferente para iniciarlo, puede agregar un alias:

gedit ~/.bashrc

Agregue esto al final del archivo:

alias <new name>='/home/<full path to script>/filename.sh'

Abra una nueva sesión de terminal o escriba source ~/.bashrc en su terminal para aplicar. Luego, simplemente use el nuevo nombre para iniciar el script.

Hay dos formas de hacer que un archivo sea ejecutable:

Método GUI:

Haga clic con el botón derecho en el archivo y seleccione Propiedades. Vaya a la pestaña de permisos, luego marque la casilla Execute: [ ] Allow executing file as program o en Nautilus Program: [ ] Allow this file to run as a program en Thunar.

ingrese la descripción de la imagen aquí

Método de terminal / comando:

Puede utilizar:

cd /to/my/required/directory

Entonces corre

chmod +x filename.extension

O simplemente ejecuta:

chmod +x /path/to/your/filename.extension

chmod también tiene algunas opciones más avanzadas:

Los espacios son para mostrar que está dividido: - rwx --- ---

El primer conjunto de --- es Usuario. El segundo es Grupo y el último es Otro (cualquier otra persona)

r significa lectura, w para escritura yx para eXecute.

Entonces, permitir que todos lo lean, pero solo el Grupo para ejecutarlo y el Usuario para leerlo y escribirlo (pero por alguna razón no ejecutarlo) sería:

-rw- rx- r-- Pero esto se agregaría al comando como:

chmod +rw-rx-r-- /path/to/file.extension

chmod también puede hacer esto en números. Se basa en binario (creo que es 1,2 y 4)

Entonces hay estos números:

Ejecutar por usuario es 100. Ejecutar por grupo es 010. Ejecutar por otro es 001.

Escribir por usuario es 200. Escribir por grupo es 020. Escribir por otro es 002.

Leído por el usuario es 400. Leer por grupo es 040. Leer por otro es 004.

Luego, los suma para obtener la combinación deseada.

Entonces, permitir que todos lo lean, pero solo el Grupo para ejecutarlo y el Usuario para escribirlo (pero por alguna razón no ejecutarlo) sería:

400 + 040 + 004 y 010 y 200

Eso suma 600 + 050 + 004 = 654.

A continuación, puede ejecutar el comando.

chmod +654 /path/to/file.extension para configurarlo.

Y para establecer todos los permisos, puede escribir:

chmod +rwxrwxrwx /path/to/file.extension

O (esto es un poco más fácil de escribir, pero más difícil de recordar cada uno):

chmod +777 /path/to/file.extension

Finalmente, puedes hacer:

chmod -777 /path/to/file.extension

Quitar todos los permisos a todos.

Y:

chmod +300 /path/to/file.extension

Para agregar lectura y escritura para el usuario, sin afectar ningún otro permiso (por ejemplo, permisos de ejecución).

Este sitio web tiene una pequeña casilla de verificación de cuadrícula muy útil, mediante la cual puede marcar las opciones que desee y le da el comando:

ingrese la descripción de la imagen aquí

Sin embargo, no todas las combinaciones posibles son sensatas de usar; los principales que se utilizan son los siguientes:

755 – Owner tiene todo, y Group y Other puede leer y ejecutar

700 – Owner tiene todo

644 – Owner sabe leer y escribir, y Group y Other puedo leer

600 – Owner puede leer y escribir

Y, si está utilizando grupos de usuarios no triviales:

775 – Owner sabe leer y escribir, y Group y Other puedo leer

770 – Owner y Group tener todo, y Other puede leer y ejecutar

750 – Owner tiene todo, y Group puede leer y ejecutar

664 – Owner y Group sabe leer y escribir, y Other solo puedo leer

660 – Owner y Group puede leer y escribir

640 – Owner sabe leer y escribir, y Group puedo leer

777 y 666 se utilizan raramente, excepto in / tmp.

¡Gracias Ilmari Karonen por señalar los de uso común!

Correr:

chmod +x /path/to/file.sh

Para hacerlo no ejecutable, ejecute:

chmod -x /path/to/file.sh

Por ejemplo, creé .sh expediente:

vi tester12.sh

Después de escribir un código en el editor vi, saldré del editor vi:

:wq!
chmod +x tester12.sh
./tester12.sh
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *