[LUG.ro] Consulta sobre bash

Daniel G. Samborski danielgsamborski en gmail.com
Mar Oct 1 11:24:16 ART 2013


Hola Mariano, gracias por responder.

Luego de leer lo que escribiste y tratar de hacer algo con los alias y no
lograrlo.
Decidí cortar por lo sano y crear unos script en bash (De paso aprovecho
para practicar lo que estoy aprendiendo)
básicamente cree una carpeta donde coloco mis script y le agregue el path
correspondiente.
Los hago ejecutables y listo, funcionan de una.

Así tengo un script llamado sshx al que le paso como parámetros el equipo y
la aplicación a ejecutar.
Lo mismo para sincronizar Dorpbox y demás.

Bastante simples y útiles resultan los scripts de linux.

Un saludo.


El 30 de septiembre de 2013 23:44, Mariano Street <mctpyt en gmail.com>escribió:

> Hasta donde sé y por lo que estoy probando, en los alias no se pueden
> usar parámetros. Simplemente son un pedazo de texto que se reemplaza
> por otro literalmente.
>
> Si ponés $1 en un alias, ese $1 se reemplaza antes de que se cree el
> alias. Si lo escapás para que no se interprete, ya sea con una barra
> invertida (\$1) o encerrando la expresión entera entre comillas
> simples en vez de dobles, te queda $1 en la cadena de texto que genera
> el uso del alias, y esto después se reemplaza por el valor de la
> variable “1” en la sesión del intérprete.[0] O sea, el valor de las
> variables depende de la sesión, no de los argumentos que uno ponga al
> usar el alias.
>
> Se me ocurren 2 soluciones simples:
>
> * Primero, si bien no hay parámetros, lo que se reemplaza no es la
>   línea completa que uno pone sino solo la primera palabra de la
>   misma, que representa el nombre del comando. Por ejemplo, si tenemos
>   un alias “hola” definido como “echo hola” y ejecutamos “hola mundo”,
>   el “hola” se reemplaza por “echo hola” pero el “mundo” no se toca,
>   así que queda la línea “echo hola mundo”:
>
>       $ alias hola='echo hola'
>       $ hola mundo
>       hola mundo
>
> * La segunda es cambiar el alias por una función:
>
>       $ hola ()
>       > {
>       >     echo "hola $1"
>       > }
>       $ hola mundo
>       hola mundo
>
> En este caso cualquiera de los 2 métodos se podría usar para definir
> “terminatorssh”.
>
> [0] Pongo unos ejemplos para que se entienda mejor la diferencia entre
>     el tipo de comillas:
>
>         $ hola=mundo
>         $ alias a="echo $hola"
>         $ a
>         mundo
>         $ hola=42
>         $ a
>         mundo
>
>         $ hola=mundo
>         $ alias a='echo $hola'
>         $ a
>         mundo
>         $ hola=42
>         $ a
>         42
>
> (Las líneas que empiezan con $ representan el inicio de líneas de
> comando; las que empiezan con >, continuaciones de líneas de comando;
> y las demás son salidas del intérprete.)
>
> Saludos,
> Mariano
> _______________________________________________
> Lugro mailing list
> Lugro en lugro.org.ar
> http://lugro.org.ar/mailman/listinfo/lugro
>


Más información sobre la lista de distribución Lugro