Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Curso de Programación en Bash Shell

Curso de Programación en Bash Shell

Marco Antonio Toscano Freire

Marco Antonio Toscano Freire

Crear nuestro primer Script

4/43
Recursos

Aportes 47

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

cd $home también lo podemos sustituir por cd ~

No me gusta esa muletilla del profesor! Creo q dice la misma palabra como mil veces....

no se ve nada? color azul con negro los comandos se pierden?

:x

para guardar y cerrar al mismo tiempo

Argumentando un echo con $1:

# !/bin/bash
echo "Hey $1"

Pasándole argumentos en el prompt:

example@ubuntu:~$ bash script.sh "Platzi"
Hey Platzi

Se le puede agregar más parámetros. Solo siguan el orden de $1, $2, $3, […]

No me quedó claro. ¿Cúal es la utilidad de !/bin/bash?

Presiona Esc para asegurarte de que estás en el modo normal.

Escribe :wq y presiona Enter.

Esto guarda los cambios y sale de Vim.
El : te lleva al modo de comandos, w escribe los cambios, y q sale de Vim.
Si solo deseas salir sin guardar los cambios, puedes usar :q! en lugar de :wq.

Si deseas guardar los cambios pero no salir, puedes usar :w solamente.

Crear nuestro primer Script

  • Lo primero es crear un archivo con la extensión .sh
vim 1_utilityPostgres.sh
  • Luego agregamos el siguiente comando para imprimir en la consola:
# !/bin/bash # Programa para realizar algunas operaciones utilitarios de Postgres 
echo "Hola bienvenido al curso de Programación bash"
  • Por último salimos del editor de texto y ejecutamos el script
bash 1_utilityPostgres.sh

Aqui pueden ver un video de como configurar Vim o NeoVim con temas y plugins ya personalizados

https://www.youtube.com/watch?v=rYizzRtSxi0

Para que el sistema operativo ejecute un archivo .sh (extensión Shell) con el interprete adecuado, es necesario añadir una nueva linea al principio del archivo

#!/bin/bash

code:

# !/bin/bash
# programa para realizar utilidades. agulanas operaciones utilitarias de postgres.

echo "hola bienvenido al curso de programacion bash"

no olvides agregar los permisos para ejecutar

Les comparto l repositorio creado gracias a este curso Repositorio🖥️

A los que les sale el error de the command is not available in this version: syntax on
instalar los siguientes paquetes
apt install vim-data vim-gui-common
con eso les aparece en colores las letras.

El contraste esta bastante mal, yo no logro apreciar las palabras una vez esta correctas

El comando `ls -l 1\_utilityPostgres.sh` en un sistema Unix o Linux sirve para mostrar detalles sobre el archivo llamado `1\_utilityPostgres.sh`. A continuación te explico lo que hace: 1\. \*\*`ls`\*\*: Lista archivos y directorios en el directorio actual. 2\. \*\*`-l`\*\*: Muestra la lista de archivos en formato largo (detallado), proporcionando información como permisos, número de enlaces, propietario, grupo, tamaño y fecha de la última modificación. 3\. \*\*`1\_utilityPostgres.sh`\*\*: Es el nombre del archivo específico que deseas listar (en este caso, parece ser un script de shell relacionado con PostgreSQL). Ejemplo de salida: ```bash -rwxr-xr-x 1 usuario grupo 2048 sep 9 14:32 1\_utilityPostgres.sh ``` Esto indica: \- \*\*`-rwxr-xr-x`\*\*: Los permisos del archivo (lectura, escritura, ejecución para el propietario, y lectura, ejecución para grupo y otros). \- \*\*`1`\*\*: Número de enlaces (hard links). \- \*\*`usuario`\*\*: Propietario del archivo. \- \*\*`grupo`\*\*: Grupo al que pertenece el archivo. \- \*\*`2048`\*\*: Tamaño del archivo en bytes. \- \*\*`sep 9 14:32`\*\*: Fecha y hora de la última modificación. \- \*\*`1\_utilityPostgres.sh`\*\*: El nombre del archivo. Este comando te permite verificar las propiedades y permisos del archivo para asegurarte, por ejemplo, de que puedes ejecutarlo como un script de shell.
Task completed: jesusvergara@MacBook-Air-de-Jesus shellcourse % cat 1\_utilityPostgres.sh o#!/bin/bash \#Program to work with some utilitary operation in postgres echo "Hi, welcome to bash course" jesusvergara@MacBook-Air-de-Jesus shellcourse %
La línea que escribimos al principio: `#!/bin/bash` es conocida como el "shebang" o "hashbang". Solo Es una secuencia de caracteres que se escribe al principio de un script para indicar al sistema operativo cuál intérprete debe usar para ejecutar el script. `#!` es el indicador de shebang. `/bin/bash` es la ruta al intérprete de Bash en el sistema. Aquí estamos indicando que el script debe ser ejecutado usando el intérprete Bash ubicado en /bin/bash.
### ¿Qué es el Shebang (`#!`)? El shebang es una secuencia de caracteres (`#!`) seguida de la ruta al intérprete que debe utilizarse para ejecutar el script. Se coloca en la primera línea del script. Esta línea le indica al sistema operativo qué programa debe usar para interpretar y ejecutar el contenido del script. ### Ejemplo de un Shebang en un Script de Bash shCopiar código`#!/bin/bash` `echo "Hola, mundo"` En este caso, `#!/bin/bash` le indica al sistema operativo que use el intérprete de Bash, ubicado en `/bin/bash`, para ejecutar el script. ### ¿Cuándo es Necesario el Shebang? El shebang es necesario si deseas que tu script se ejecute directamente desde la línea de comandos sin necesidad de llamar explícitamente al intérprete. Esto es útil cuando el script tiene permisos de ejecución y deseas ejecutarlo como un comando. ### Ejecución con Shebang 1. **Escribir el script con el shebang:**shCopiar código`#!/bin/bash` `echo "Hola, mundo"` 2. **Dar permisos de ejecución al script:**shCopiar código`chmod` +x mi\_script.sh 3. **Ejecutar el script:**shCopiar código./mi\_script.sh ### Ejecución sin Shebang Si no incluyes un shebang, debes ejecutar el script especificando el intérprete explícitamente: 1. **Sin shebang en el script:**shCopiar código`echo "Hola, mundo"` 2. **Ejecución del script especificando el intérprete:**shCopiar códigobash mi\_script.sh ### Otros Intérpretes El shebang puede apuntar a diferentes intérpretes según el lenguaje en el que esté escrito el script. Algunos ejemplos comunes son: * **Python:**shCopiar código`#!/usr/bin/env python3` `print("Hola, mundo"`) * **Perl:**shCopiar código`#!/usr/bin/perl` `print "Hola, mundo\n"`; * **Ruby:**shCopiar código`#!/usr/bin/env ruby` `puts "Hola, mundo"` ### Resumen * **Shebang (**`#!`**)**: Indica al sistema operativo qué intérprete usar para ejecutar el script. * **No es obligatorio**: Pero es una práctica recomendada para scripts ejecutables. * **Ejecución directa**: Con shebang y permisos de ejecución, puedes ejecutar el script directamente desde la línea de comandos. * **Ejecución sin shebang**: Debes especificar el intérprete al ejecutar el script. Utilizar el shebang es una práctica que mejora la portabilidad y claridad de los scripts, facilitando su ejecución y mantenimiento.
\## Shebang (`#!`) en Scripts de Bash \### ¿Qué es el Shebang? El shebang (`#!`) es una secuencia de caracteres que se coloca en la primera línea de un script, seguida de la ruta al intérprete que debe utilizarse para ejecutar el script. \### Ejemplo de Shebang en un Script de Bash ```sh \#!/bin/bash echo "Hola, mundo"
Si quieren hacer una configuración más fácil de VIM, aquí les dejo el link que les facilita esto; <https://vimconfig.com> Es importante señalar que en shell el sistema de comentarios no es con un `#` sino con `"`, para que tengan en cuenta que es necesario cambiar los signos antes de guardar.
Lo correcto es: `set autoindent`

Los subtitulos no reconocen bien las palabras D:

Con Neovim , la interfaz se puede hacer más amigable:

Aqui les dejo una guia: https://stsewd.dev/posts/neovim-plugins/#guias-de-indentacion

recomiento fuertemente bajarle la velocidad al video

veo que separa el # del !. Aqui dice que es recomendable no separar nada en el famoso shebang.

Para abrir una terminal en vim, en modo normal escriban:

:bel term <Enter>		'horizontal inferior'
:bel vert term <Enter>	'vertical derecho'

Para moverse de terminal a editor repetir dos veces:

<ctrl>+w

Para agregar permisos de ejecucion tanto para el usuario, el grupo y en general debemos usar este comando

chmod +x 1_utilityPostgress.sh

Lo dejaron bien feo el NeoVim sabiendo que con los plugins adecuados es casi como Visual studio code.

Me encanto NVIM … creo que es muy bueno.

Es super importante, que nuestros scripts terminen con la extensión .sh

cat: permite mostrar en pantalla lo que tiene un archivo
ls -lh permitte listar un directorio para ver de una manera mas humana.

Muy buena la clase.

chmod +x (nombre del archivo)

Code

En la primera linea lo que haces es seleccionar el shell que ejecutará este script, bash es el que traen por defecto la mayoría de as distribuciones Linux. Ahí puedes usar la shell que se te antoje, por ejemplo sh sería #!/bin/sh, o sí usas zsh pondrías #!/bin/zsh
La sintaxis entre shell y shell no suele variar mucho pero hay unas más rápidas o con otras características que bash no tiene.

Saludos a todos, tengo una pregunta hay alguna forma de realizar un script en un editor de texto que sea diferente a VIM como vs code o atom donde se puedan crear shell

Esta genial este curso.

genial este curso profe

Va gustando esta clase, gracias profesor Freire.

Excelente vamos avanzando.

genial

Entendido

En la sección de Archivos y Enlaces, los archivos están nombrados al revés: 1_comments.sh debería ser 1_utilityPostgres.sh y a la inversa.

Genial.

<h1>!/bin/bash</h1> <h1>programa para realizar algunas operaciones utilitarias de postgres</h1>

echo “Hola DiegoDevelops”;

Siempre que se crea un script es creado con permisos de write y read pero no con el permiso de execute.

#! /bin/bash
# PROGRAMA: U-POSG
echo "Programa Utilidades Postgres"
    <<"COMENTARIO 1"
    Programa para administrar las utilidades de la Base
    de Datos Postgres
   "COMENTARIO 1"
    
exit 0```