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:
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.