Quiero escribir el análogo de Ubuntu de un "archivo por lotes" (un script de shell). Pero no sé cómo usar el comando para que se pueda ejecutar el script. Tampoco sé dónde usarlo.chmod +x filename
permissions
scripts
chmod
executable
execute-command
usuario265696
fuente
fuente
chmod
realmente no se aplica a esos sistemas operativos y el "archivo por lotes" estaba entre comillas . El OP aquí (visto por última vez en 2014) quería escribir y ejecutar algo similar a un archivo por lotes. A diferencia de los sistemas operativos tipo Unix, los usuarios de Windows (y DOS) no tienen que usar nadachmod +x
para hacerlo, de modo que puedan iniciar sus scripts de la misma manera que lanzan archivos binarios ejecutables. He editado un poco para aclarar la pregunta, y estoy votando para reabrir.Respuestas:
En breve:
chmod +x
en un archivo (su script) solo significa que lo hará ejecutable. Haga clic derecho en su script y elija Propiedades -> Permisos -> Permitir ejecutar archivo como programa , le deja exactamente el mismo resultado que el comando en la terminal.Si un archivo en el que desea cambiar los permisos se encuentra dentro del directorio de sistemas, es posible que deba estar
root
así: (tenga cuidado al usar elsudo
comando)Tampoco está claro qué es exactamente lo que desea archivar aquí. ¡Edite su pregunta y brinde más detalles sobre el problema real!
También puede consultar esta pregunta para obtener más información: chmod u + x 'versus' chmod + x
En largo:
Escriba
man chmod
una ventana de terminal ( Ctrl+ Alt+ T) y obtendrá el siguiente resultado:NOMBRE: chmod - cambiar bits de modo de archivo
SINOPSIS
DESCRIPCIÓN
SETUID Y SETGID BITS
OPCIONES
fuente
chmod u+x
lo haría ejecutable solo para ustedPrimero, su script debe declarar qué intérprete usar. Hace esto en la primera línea del archivo. Si es un script de shell, debería ser
#!/bin/sh
o#!/bin/bash
.Así que aquí hay un script que escribe su nombre de usuario: echo-whoami.sh
#!/bin/sh echo $(whoami)
Para hacerlo ejecutable, use
chmod +x echo-whoami.sh
. Entonces puedes ejecutarlo usando./echo-whoami.sh
.fuente
Un archivo por lotes y un script de shell son dos términos que significan efectivamente lo mismo en Linux. Sin embargo, el término script se usa con mucha más frecuencia .
El archivo de script de shell más simple solo contiene comandos como los escribiría en la línea de comandos (es decir, el intérprete de comandos Bash). En teoría, incluso puede reemplazar el intérprete con cualquier idioma que desee (y tener un intérprete para). Para ser más explícito, se sugiere que comience su primera línea con
#!/bin/sh
(si desea la máxima portabilidad con sistemas heredados)o
#!/bin/bash
(si quieres algunas características adicionales, probablemente no te interese hoy)Después de esta línea ingrese sus comandos, uno en cada línea. Hay muchas construcciones adicionales más allá del alcance de estas preguntas, consulte
man bash
o http://www.tldp.org/LDP/Bash-Beginners-Guide/Bash-Beginners-Guide.pdf (para principiantes) o http: // www .tldp.org / LDP / abs / abs-guide.pdf (para preguntas más avanzadas).Para ejecutar realmente su script, hay dos requisitos: primero, el proceso del intérprete necesita leer el archivo , y luego verifica si está marcado como ejecutable . Por razones de conveniencia, también es útil poder escribir en su secuencia de comandos (para que pueda hacer cambios o correcciones).
Suponiendo además que desea que los miembros del equipo y otras personas también puedan ejecutar (y ver) su script, pero que no desea que lo manipulen, la combinación de
a+x
o+x
, comoa
es el valor predeterminado),a+r
o+r
, como dea
nuevo es el predeterminado),u=w
)son generalmente valores razonables de los permisos de su archivo. Puede escribir las acciones individuales concatenadas, separadas con una coma.
Si bien este "lenguaje de acción" es muy fascinante (tenga en cuenta la diferencia entre el operador
+
y el=
que resultan en diferentes resultados dependiendo de la configuración del permiso antes de que los cambie), son tediosos de escribir.Como todas las acciones crean máscaras de bits que se aplican internamente, puede escribir las máscaras de bits (consulte los
man chmod
detalles) también directamente.Para un shellscript, chmod 755 myscript.sh tiene más sentido en al menos el 95% de todos los casos.
fuente