Me tomó casi 10 años de uso de Linux hacer esta pregunta. Todo fue prueba y error y navegación aleatoria por Internet a altas horas de la noche.
Pero la gente no debería necesitar 10 años para esto. Si recién comenzara con Linux, me gustaría saber: ¿ Cuándo usar un alias, cuándo escribir un script y cuándo escribir una función?
En lo que respecta a los alias, uso alias para operaciones muy simples que no toman argumentos.
alias houston='cd /home/username/.scripts/'
Eso parece obvio. Pero algunas personas hacen esto:
alias command="bash bashscriptname"
(y agregarlo al .bashrc
archivo)
¿Hay una buena razón para hacer eso? Estoy intentando mucho, pero realmente no puedo pensar en ninguna circunstancia en la que me gustaría hacer eso. Entonces, si hay un caso límite en el que eso marcaría la diferencia, responda a continuación.
Porque ahí es donde simplemente pondría algo en mi RUTA y chmod +x
eso, que es otra cosa que surgió después de años de prueba y error de Linux.
Lo que me lleva al siguiente tema. Por ejemplo, agregué una carpeta oculta ( .scripts/
) en el directorio de inicio a mi RUTA simplemente agregando una línea a mi .bashrc
( PATH=$PATH:/home/username/.scripts/
), por lo que todo lo ejecutable allí se autocompleta automáticamente.
Si lo necesitara.
Sin embargo, realmente no necesito eso, ¿verdad? Solo lo usaría para lenguajes que no son el shell, como Python.
Si es el shell, puedo escribir una función dentro del mismo .bashrc
:
funcname () {
somecommand -someARGS "$@"
}
Como dije, descubrí mucho de esto a través de prueba y error. Y realmente solo vi la belleza de las funciones cuando mi computadora murió y me vi obligado a usar las computadoras de las personas que me rodeaban cuando no las usaban.
En lugar de mover un directorio completo de scripts de computadora a computadora, terminé reemplazando el .bashrc de todos los demás por el mío, ya que nunca habían hecho una sola modificación.
¿Pero extrañé algo?
Entonces, ¿qué le diría a un usuario principiante de Linux sobre cuándo usar alias, cuándo escribir un script y cuándo escribir una función?
Si no es obvio, supongo que las personas que respondan esto harán uso de las tres opciones. Si solo usa alias, o solo usa scripts, o solo usa funciones, o si solo usa alias y scripts o alias y funciones o scripts y funciones, esta pregunta no está realmente dirigida a usted.