¿Cómo se hace un script, paso a paso?

 #! /bin/bash
 # Las líneas que empiezan por "#" son comentarios
 # La primera línea o #! /bin/bash asegura que se interpreta como
 # un script de bash, aunque se ejecute desde otro shell.

echo "Este es el primer comando"
echo" "Tras 5 segundos verás un listado del directorio actual"
sleep 5s
ls --color
echo "Fin del ejemplo"

Como se puede comprobar, "echo" sólo muestra mensajes en pantalla, "sleep" hace una pausa y "ls" nos muestra una lista de ficheros.

¿Qué se puede hacer, además de meter eso?

     VARIABLE=valor; export VARIABLE  (en sh)
     export VARIABLE=valor (en bash).

Las variable de entorno se pueden ver así:

 echo $<tab><tab> (solo los nombres de las variables
 env (con los valores asignados)
 set | less
  if [ "$1" = "hola" ]; then
        ordenes
  elif [  ]; then
        ordenes
  else ordenes
  fi
  case variable in
        a)  comandos ;;
        b*) comandos ;;
        *)  comandos ;;
   esac
at hora fecha comando
 tr A B fichero1 fichero2 (cambia A por B en fichero1, lo salva en fichero 2)
 sort fichero1 > fichero2
        cat <<CADENA_QUE_INDICA_FINAL
                teto con muchas líneas  ...
        CADENA_QUE_INDICA_FINAL
 exit num :sale del programa con el valor de status 'num'.
 read -p mensaje VAR1
 read VAR1 --> toma la salida estándar de otro programa
  for var1 in 0 1 2 3 4 ;
   do
    ordenes
   done
  1. bucles UNTIL
  until comando do comandos done
   [function] nombre() { comandos; }
  1. variable de salida

Si al final del script ponemos algo como:

 exit 16

Al ejecutarse corectamente, esa variable la podremos ver con:

 echo $?

Y esto nos asegura que el script se ejecuto hasta esa línea.