Bash: ejecutar comandos en variables

Clase 9 de 43Curso de Programación en Bash Shell

Resumen

Aprende a ejecutar comandos dentro de un script y almacenar la salida en variables para reutilizarla. Con Bash y dos formas de sustitución de comandos —backtick y $(...)— podrás imprimir la ubicación actual con pwd o consultar el estado del sistema con uname -a. Además, se muestran atajos en Vim para editar más rápido.

¿Qué es la sustitución de comandos en Bash?

La idea es simple y poderosa: ejecutar un comando y usar su salida como valor dentro del programa. Esto permite encadenar tareas. Por ejemplo, recuperar la ruta con pwd y, desde ahí, crear directorios o archivos.

En Bash hay dos formas equivalentes de hacerlo: - Con backticks: comando se ejecuta y su salida se asigna a una variable. - Con $(comando): preferido por legibilidad y anidación.

Aplicarlo en un servidor, como Ubuntu Server, facilita automatizar flujos comunes. Por ejemplo, imprimir la ubicación actual y la información del kernel antes de ejecutar otras acciones.

¿Cómo se implementa con ejemplos prácticos?

El flujo mostrado parte de crear un script, editarlo y asignar salidas de comandos a variables. Luego, se imprimen con echo para comprobar resultados.

#!/bin/bash
# Programa para ejecutar comandos dentro de un programa y almacenarlos en variables

ubicacion_actual=`pwd`          # Uso de backticks
info_kernel=$(uname -a)         # Uso de $(comando)

echo "La ubicación actual es la siguiente: $ubicacion_actual"
echo "Información del kernel: $info_kernel"

¿Cómo capturar la ubicación actual con pwd?

  • Usa backticks para asignar la salida de pwd.
  • Asigna a una variable y reutiliza en tu flujo.
ubicacion_actual=`pwd`

¿Cómo obtener información del kernel con uname -a?

  • Emplea $(comando) para mayor claridad.
  • Muestra la versión y detalles del kernel.
info_kernel=$(uname -a)

¿Cómo imprimir y ejecutar el script?

  • Muestra valores con echo para verificar.
  • Lista archivos con ls y ejecuta con ./nombre_script.
echo "La ubicación actual es la siguiente: $ubicacion_actual"
echo "Información del kernel: $info_kernel"

ls
./tema_d5.sh

Puntos clave: - Sustitución de comandos: integra salidas en variables para reusar en sentencias posteriores. - pwd: evita escribir rutas completas al trabajar con el directorio actual. - uname -a: expone datos críticos del kernel para diagnósticos rápidos.

¿Qué atajos de edición en Vim aceleran el flujo?

Durante la edición, se enfatizan atajos para borrar y navegar texto de forma eficiente. Estos comandos permiten limpiar y ajustar el contenido antes de probar el script.

  • dd: borra una línea.
  • Ndd (ej. 18dd): borra N líneas seguidas.
  • Control + B: activa Visual Block para seleccionar por bloques.
  • D tras seleccionar: elimina la selección.
  • U: deshacer cambios.
  • Insertar: entra a modo inserción para escribir.
  • $: ir al final de la línea.
  • Escape, Shift + W, Q: guardar y salir.

Asimismo, el flujo integra tareas de consola: - cp para copiar archivos y reutilizar estructura. - ls para verificar permisos y presencia del script. - ./archivo para ejecutar el programa actual.

La clave está en combinar sustitución de comandos, variables y edición ágil en Vim para lograr scripts claros, reutilizables y listos para automatizar tareas.

¿Tienes dudas sobre backticks o $(...)? Comparte un comentario con tu caso y lo revisamos juntos.

      Bash: ejecutar comandos en variables