[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