Te traemos la respuesta a este enigma, al menos eso deseamos. Si continuas con alguna inquietud puedes dejar un comentario, que con placer te ayudaremos
Solución:
Hay dos métodos.
Primero, lo más común es escribir un archivo, asegúrese de que la primera línea sea
#!/bin/bash
Luego guarde el archivo. Luego márcalo como ejecutable usando chmod +x file
Luego, cuando haga clic (o ejecute el archivo desde la terminal), se ejecutarán los comandos. Por convención, estos archivos generalmente no tienen extensión, sin embargo, puede hacer que terminen en .sh
o de cualquier otra manera.
Algunas notas:
- Cualquier archivo (y me refiero a cualquier) puede ejecutarse en Linux siempre que la primera línea sea una ruta al programa que debe interpretar el archivo. Los ejemplos comunes incluyen
/bin/python
,/bin/sh
,/bin/dash
pero incluso las cosas extrañas funcionan como/bin/mysql
- Bash es un lenguaje completo. Es mucho más complejo que cmd.exe en Windows. Tiene un lenguaje de programación fuerte que admite funciones, bucles, condicionales, string operaciones, etc
- Estos documentos pueden ayudar si tiene problemas.
- Si no desea que el archivo sea ejecutable, puede ejecutarlo pasándolo como argumento a bash:
bash file/to/run.sh
Un ejemplo simple de bash
#!/bin/bash
echo "This is a shell script"
ls -lah
echo "I am done running ls"
SOMEVAR='text stuff'
echo "$SOMEVAR"
El segundo método es grabar comandos usando script
. Correr script
entonces solo haz cosas. Cuando termines de hacer cosas, escribe exit
y el script generará un archivo para ti con todas las “cosas” que hiciste. Esto se usa menos pero funciona bastante bien para hacer cosas como macros. man script
para más información.
¿Te refieres a escribir en un archivo usando un script de shell? Aquí hay algunas maneras:
touch file
Este método simplemente creará un archivo, pero si el archivo ya existe, simplemente cambia la fecha de modificación a la hora en que usó ese comando.
echo "text" > file
Ese método sobrescribe el contenido de file
para text
. Si desea borrar un archivo, simplemente puede hacer esto:
echo "" > file
Digamos que quiere escribirle más de una línea y no quiere usar miles de echo
comandos, usaría este comando:
cat << EOF > file
test
test1
foo
bar
EOF
Eso le permite escribir varias líneas en un solo comando. Los contenidos de file
entonces seria esto:
test
test1
foo
bar
Si desea agregar a un archivo, reemplace >
para >>
.
¡Espero que esto ayude!
EDITAR: Oh, ya veo, así que escribirías el archivo en gedit, usando el .sh
extensión (opcional, pero es una buena idea), y luego en un administrador de archivos, haga clic con el botón derecho en el archivo, seleccione Propiedades->Permisos y verifique Allow executing file as program
. Luego puede hacer doble clic en él y se ejecutará :). Además, si desea hacerlo en la terminal, puede ejecutar este comando para que sea ejecutable (es posible que desee anteponer sudo
si no te pertenece):
chmod +x file
Y para ejecutar:
./file
El equivalente a los archivos por lotes de Windows son los scripts de shell, y una excelente guía de inicio es Bash Scripting.
En su mayor parte, los comandos que puede ingresar en la línea de comando se pueden colocar en un script de shell.
Un par de cosas que son diferentes de los archivos por lotes de Windows:
-
Hay diferentes intérpretes de comandos, llamados shells. El predeterminado es bash, pero si está interesado, hay otros, como zsh, ksh, dash, perl, python, etc.
-
Para ejecutar un script de shell, debe hacer que el archivo sea ejecutable, lo que puede hacer con
chmod +x
-
En Ubuntu, el directorio actual no es la ruta de búsqueda del programa, por lo que debe ejecutar
./
no -
Los nombres de las variables son
$
no%
% -
Los comandos en un script de shell no se imprimen de forma predeterminada, como en un archivo por lotes.
-
La extensión del nombre del archivo puede ser
.sh
o (más habitual) no necesita usar una extensión. Poner#!/bin/bash
en la primera línea del archivo, que le dice a Ubuntu qué programa usar para ejecutar el archivo. -
Los comentarios comienzan con
#
norem
.
¡Espero que esto ayude y diviértanse escribiendo!
Acuérdate de que tienes la opción de decir si diste con la solución.