Creando tus propios comandos
  • Miércoles 7 de Octubre de 2020

Creando tus propios comandos

En esta oportunidad crearemos un comando propio usando el comando alias que suele venir instalado en nuestra distribución de GBU/linux. Pero antes de empezar, necesitamos desvelar un pequeño truco de la línea de comandos. Es posible poner más de un comando en una línea separando cada comando con un punto y coma. Funciona así:

1
comando1; comando2; comando3...

Aquí tenemos el ejemplo que usaremos:

1
cd /usr; ls; cd -

Y nos da una salida como esta:

1
2
3
bin  games   kerberos lib64   local share tmp
etc  include lib      libexec sbin  src
/home/me

Como podemos ver, hemos combinado tres comandos en una línea. Primero hemos cambiado el directorio a /usr luego hemos listado el directorio y finalmente hemos vuelto al directorio original (usando ‘cd -’) con lo que hemos terminado donde empezamos. Ahora convirtamos esta secuencia en un nuevo comando usando alias.

Usando Alias

La primera cosa que tenemos que hacer es inventarnos un nombre para nuestro nuevo comando. Probemos “foo”. Antes de hacerlo, sería una buena idea averiguar si el nombre “foo” ya está siendo usado. Para averiguarlo, podemos usar el comando type de nuevo:

1
type foo

Que nos retorna

1
bash: type: foo: not found

¡Genial! “foo” no está cogido. Así que creemos nuestro alias:

1
alias foo='cd /usr; ls; cd -'

Fíjate en la estructura de este comando:

1
alias name='string'

Tras el comando “alias” le damos a alias un nombre seguido inmediatamente (sin espacios en blanco) por un signo igual, seguido inmediatamente por una cadena entre comillas simples conteniendo los comandos que se asignarán al nombre. Después de definir nuestro alias, puede ser usado donde quiera que el shell acepte comandos. Probemos:

1
foo

Ahora nos dara una salida similar a:

1
2
3
    bin  games   kerberos lib64   local share tmp
    etc  include lib      libexec sbin  src
    /home/me

También podemos usar el comando type de nuevo para ver nuestro alias:

1
type foo

Ahora nos dira:

1
foo is aliased to `cd /usr; ls ; cd -'

Para eliminar un alias, se usa el comando unalias, así:

1
2
unalias foo
type foo

Y el type nos sirve para verificar que se elimino dando la siguiente salida:

1
bash: type: foo: not found

Aunque evitamos a propósito nombrar nuestro alias con un nombre de comando existente, no es raro que se haga. Generalmente se hace para aplicar una opción que se utilice a menudo en cada invocación de un comando común. Por ejemplo, vimos antes que el comando ls a menudo es un alias con soporte para colores:

1
type ls

Mostrando:

1
ls is aliased to `ls –color=tty'

Para ver todos los alias definidos en nuestro entorno, utiliza el comando alias sin argumentos. Aquí tienes algunos de los alias definidos por defecto en un sistema Fedora. Pruébalo e imagina para qué sirve cada uno:

1
alias

Mostrando las alias de la siguiente forma

1
2
3
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls –color=tty'

Hay un pequeño problema con la definición de alias en la línea de comandos. Se esfuman cuando la sesión de shell se cierra. Más adelante, veremos cómo añadir nuestros alias a archivos que establecen el entorno cada vez que iniciamos sesión, pero por ahora, disfruta del hecho de que hemos dado nuestro primer paso, aunque sea pequeño, ¡en el mundo de la programación en shell!

Contenido Relacionado

PatoJAD

PatoJAD

Arquitecto de Software

Autor

Sobre mi no hay mucho para decir, me dedico a desarrollar en una empresa de telecomunicaciones, utilizo GNU/Linux desde el 2.012 y hace años que es mi Sistema Operativo main. Soy una persona que busca crecer profesionalmente sin dejar de divertirse y hacer lo que me gusta. Siempre digo que cuando un proyecto sale es importante agradecer, por lo cual les recomiendo a todos leer la seccion Agradecimientos en la cual me tomé un tiempito para poder agradecer a todos y cada uno de los que hicieron posible todo esto.