Tengo un archivo script.sh y el tipo de este archivo es shellscript. Quiero hacer este archivo como archivo de aplicación / x-ejecutable. ¿Cómo puedo hacerlo?
command-line
executable
Ziyaddin Sadigov
fuente
fuente

Respuestas:
Puede marcar el archivo como ejecutable:
Luego puede ejecutarlo así:
Si desea utilizar un comando diferente para iniciarlo, puede agregar un alias:
Agregue esto al final del archivo:
Abra una nueva sesión de terminal o escriba
source ~/.bashrcsu terminal para aplicar. Luego, simplemente use el nuevo nombre para iniciar el script.fuente
./filename.shy no solofilename.sh?filenamey no./filename./filename.shespecifica un archivo en el directorio actual y el usofilename.shespecifica un archivo en el directorio actual o en cualquier directorio de PATH. El primer uso elimina cualquier incertidumbre sobre a qué archivo se accede. En este caso, está intentando ejecutar el script con bash u otro intérprete (en virtud de asumir#!/bin/bashcomo primera línea en su script) simplemente ingresando el nombre del archivo. Este uso requiere que se especifique el directorio. Alternativamente, puede probarbash filename.shcuál parece funcionar con un directorio no especificado.Hay dos formas de hacer que un archivo sea ejecutable:
Método GUI:
Vaya a la pestaña de permisos, luego marque la casilla `Ejecutar: [] Permitir ejecutar el archivo como programa.
Método de terminal / comando:
Puedes usar:
cd /to/my/required/directoryEntonces corre
chmod +x filename.extensionO simplemente ejecuta:
chmod +x /path/to/your/filename.extensionchmodtambié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, para 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.extensionchmodTambién puede hacer esto en números. Está basado en binario (creo que es 1,2 y 4)Entonces hay estos números:
Ejecutar por usuario es
100. Ejecutar por grupo es010. Ejecutar por otro es 001Escribir por usuario es
200. Escribir por grupo es020. Escribir por otro es002.Leído por el usuario es
400. Leer por grupo es040. Leer por otro es004.Luego los sumas para obtener la combinación deseada.
Entonces, para permitir que todos lo lean, pero solo Group para ejecutarlo y User para escribirlo (pero por alguna razón no ejecutar) sería:
400 + 040 + 004y010y200Eso suma 600 + 050 + 004 = 654.
Entonces podría ejecutar el comando.
chmod +654 /path/to/file.extensionpara configurarloY para configurar todos los permisos, puede escribir:
chmod +rwxrwxrwx /path/to/file.extensionO (esto es un poco más fácil de escribir, pero más difícil de recordar cada uno):
chmod +777 /path/to/file.extensionFinalmente, puedes hacer:
chmod -777 /path/to/file.extensionPara quitar todos los permisos de todos.
Y:
chmod +300 /path/to/file.extensionPara 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, en la que puede marcar las opciones que desee y le da el comando:
Sin embargo, no todas las combinaciones posibles son razonables de usar; Los principales que se utilizan son los siguientes:
755 -
Ownertiene todo,GroupyOtherpuede leer y ejecutar700 -
Ownertiene todo644 -
Ownerpuede leer y escribir,GroupyOtherpuede leer600 -
Ownerpuede leer y escribirY, si está utilizando grupos de usuarios no triviales:
775 -
Ownerpuede leer y escribir,GroupyOtherpuede leer770 -
OwneryGrouptiene todo, yOtherpuede leer y ejecutar750:
Ownertiene todo yGrouppuede leer y ejecutar664 -
OwneryGrouppuede leer y escribir, yOthersolo puede leer660 -
OwneryGrouppuede leer y escribir640 -
Ownerpuede leer y escribir, yGrouppuede leer777 y 666 rara vez se usan, excepto en / tmp.
¡Gracias Ilmari Karonen por señalar los de uso común!
fuente
Correr:
Para hacerlo no ejecutable, ejecute:
Por ejemplo, creé el
.sharchivo:Después de escribir un código en el editor vi, saldré del editor vi:
fuente