Problema extraño con un alias en bash

Quería crearme un alias para copiar el link público desde la consola al portapapeles, normalmente lo hago así:
dropbox-cli puburl (archivo) | xsel -b -i


De modo que esto lo paso a un alias, lo meto en el .bashrc

alias getpublic='function _getPublicLink(){ dropbox-cli puburl $1 | xsel -b -i; };_getPublicLink'


Sin embargo, el resultado no es el esperado, me copia esto:
get public url of a file in your dropbox dropbox puburl FILE Prints out a public url for FILE.


Lo cual no entiendo, yo no veo nada raro :-?
@Zokormazo, a ver si puedes echarle un vistazo.
@amchacon: separa la funcion del alias, sera mas sencillo buscar el error. Te falla con todos los ficheros? o solo con los que tienen espacios?
Zokormazo escribió:@amchacon: separa la funcion del alias, sera mas sencillo buscar el error. Te falla con todos los ficheros? o solo con los que tienen espacios?

Ahí le has dado, en los nombres sin espacios va perfectamente.
amchacon escribió:
Zokormazo escribió:@amchacon: separa la funcion del alias, sera mas sencillo buscar el error. Te falla con todos los ficheros? o solo con los que tienen espacios?

Ahí le has dado, en los nombres sin espacios va perfectamente.


Vale, pues ponle comillas al $1.

Prueba esto:

alias getpublic='function _getPublicLink(){ dropbox-cli puburl "$1" | xsel -b -i; };_getPublicLink'


Perdon por la demora, he estado fuera e iba fatal la conexion ssh para probar. Seguro que ya lo has solucionao xD
Ostia comillas, no lo había pensado, gracias.
6 respuestas