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.
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:
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