Como convertir tus scripts en comandos en líneas de comandos / terminales de Linux y Mac
In English  

Primero creamos una carpeta bin en tu carpeta de usuario.

Para ver donde estamos utilizamos pwd y para ver donde está nuestra carpeta de usuario podemos utilizar echo $HOME

pwd
echo $HOME

y entonces entramos a nuestra carpeta de usuario (si acabas de abrir la terminal ya debes estar ahí). El comando cd sin parámetros nos lleva a la carpena del usuario, o podemos utilizar cd $HOME

cd
cd $HOME

La carpeta no tiene por que llamarse “bin”, puede llamarse lo que tu quieras. Yo nombro mis carpetas “bin” ya que los sistemas usualmente utilizan una carpeta llamada “bin” para lo ejecutable.

mkdir bin
cd bin

Ahora hacemos un archivo, puede tener una extensión .sh, o ninguna extensión.

touch thing touch thing.sh

Ahora editamos el archivo que queremos, yo creé ambos para este ejemplo pero puede ser cualquiera de ellos. Normalmente yo uso vim para esto pero puedes usar algo como nano si tú no usas vim (para salir de vim en caso de que entres, presiona ESCAPE, entonces escribe :q! y presiona ENTER).

Entonces la parte importante del script. La primera línea dice que tipo de script es. Opciones normalmente son “Bash”, pero puede ser “Python”, “Perl”. Para este artículo voy a utilizar Bash ya que es un script de Bash.

#!/bin/bash

Y un simple “¡Hola Mundo!”.

echo “¡Hola Mundo!”

Ahora, volvamos este archivo ejecutable.

chmod u+x cosa chmod u+x cosa.sh

Ahora, tenemos el script que queremos y es ejecutable, podemos ejecutarlo al entrar en la carpeta y usar ./ antes del script, pero queremos que sea ejecutable desde donde estemos, así que vamos a la última parte.

Todas las carpetas con scripts residen en la variable $PATH. Agregaremos nuestra carpeta bin.

Ya tenemos una variable $HOME, esto imprimirá. Así que actualizamos $PATH con:

export PATH=$HOME/bin:$PATH

Ahora $PATH tiene $HOME/bin más el $PATH que estaba antes.

Podemos usar ahora, en esta terminal, “cosa” o “cosa.sh”, dependiendo de que hiciste. Pero esto solo funcionará en esta terminal, queremos que esté disponible en cualquier terminal que abramos, así que agreguemos el comando a nuestro .bashrc

echo “export PATH=$HOME/bin:$PATH” >> $HOME/.bashrc

Esto funcionará en una distribución de Linux como Ubuntu, Linux Mint o Raspbian, basicamente en distribuciones basadas en Debian. Sin embargo, en Mac podemos agregar esta línea a .bash_profile para hacer lo mismo.

echo “export PATH=$HOME/bin:$PATH” >> $HOME/.bash_profile

Y está listo.