¿Qué es un archivo con extensión .sh?
Es un script de shell de Bourne . Se utilizan en muchas variaciones de sistemas operativos similares a UNIX. No tienen "lenguaje" y son interpretados por su shell (intérprete de comandos de terminal) o si la primera línea está en el formulario
#!/path/to/interpreter
usarán ese intérprete en particular. Su archivo tiene la primera línea:
#!/bin/bash
y eso significa que usa Bourne Again Shell, llamado bash. Es a todos los efectos prácticos un sustituto del pescado viejo.
Dependiendo del intérprete, tendrá un idioma diferente en el que esté escrito el archivo.
Tenga en cuenta que en el mundo UNIX, no es la extensión del archivo lo que determina cuál es el archivo (consulte Cómo ejecutar un script de shell).
Si viene del mundo de DOS / Windows, estará familiarizado con los archivos que tienen extensiones .bat o .cmd (archivos por lotes). No son similares en contenido, pero son similares en diseño.
Cómo ejecutar un script de shell
A diferencia de algunos sistemas operativos tontos, * nix no se basa exclusivamente en extensiones para determinar qué hacer con un archivo. También se utilizan permisos. Esto significa que si intenta ejecutar el script de shell después de descargarlo, será lo mismo que intentar "ejecutar" cualquier archivo de texto. La extensión ".sh" está ahí solo para su conveniencia para reconocer ese archivo.
Deberá hacer que el archivo sea ejecutable. Supongamos que ha descargado su archivo como file.sh
, luego puede ejecutarlo en su terminal:
chmod +x file.sh
chmod
es un comando para cambiar los permisos del archivo, +x
establece permisos de ejecución (en este caso para todos) y finalmente tienes tu nombre de archivo.
También puede hacerlo en GUI. La mayoría de las veces puede hacer clic derecho en el archivo y seleccionar propiedades, en XUbuntu las opciones de permisos se ven así:
Si no desea cambiar los permisos. También puede forzar al shell a ejecutar el comando. En la terminal puedes ejecutar:
bash file.sh
El shell debe ser el mismo que en la primera línea de su script.
¿Qué tan seguro es?
Puede resultarle extraño que deba realizar otra tarea manualmente para ejecutar un archivo. Pero esto se debe en parte a la gran necesidad de seguridad.
Básicamente, cuando descargas y ejecutas un script bash, es lo mismo que alguien te dice "ejecuta todos estos comandos en secuencia en tu computadora, te prometo que los resultados serán buenos y seguros". Pregúntese si confía en la parte que le ha proporcionado este archivo, pregúntese si está seguro de haber descargado el archivo desde el mismo lugar en el que pensaba, tal vez incluso eche un vistazo al interior para ver si algo parece fuera de lugar (aunque eso requiere que sabe algo sobre los comandos * nix y la programación bash).
Desafortunadamente, aparte de la advertencia anterior, no puedo dar una descripción paso a paso de lo que debe hacer para evitar que sucedan cosas malas con su computadora; así que tenga en cuenta que cada vez que obtiene y ejecuta un archivo ejecutable de alguien, en realidad está diciendo: "Claro, puede usar mi computadora para hacer algo".