¿Por qué un comodín sin comillas funciona remotamente con scp?


24

Estoy escribiendo esto en Bash:

scp user@remote:~/dir/*.xml .

y funciona, obteniendo todos los archivos que forman el comodín en el servidor remoto. ¿Pero por qué funciona esto? Pensé que Bash expande las expresiones comodín en argumentos antes de que los argumentos sean visibles para una herramienta como scp.

Respuestas:


31

Si no hay un nombre de archivo coincidente, entonces una expresión comodín en bash se expande a sí misma. Por lo tanto, siempre que no cree ningún archivo local cuyo nombre coincida user@remote:~/dir/*.xml, su comando funciona sin citar.


99
Y tampoco habilite nullglobcuál lo haría expandirse a una cadena vacía
Eric Renouf

1
nullglobno hace que el patrón se expanda a la cadena vacía; hace que desaparezca por completo. Es la diferencia entre scp "" .(dos argumentos, uno de los cuales es la cadena vacía) y scp .(un argumento único y una llamada no válida a scp).
chepner
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.