Estou digitando isso no Bash:
scp user@remote:~/dir/*.xml .
e funciona, obtendo todos os arquivos que compõem o curinga no servidor remoto. Mas por que isso funciona? Eu pensei que o Bash expande expressões curinga nos argumentos antes que os argumentos se tornem visíveis para uma ferramenta como scp
.
nullglob
que ele teria se expandir para esvaziar cordanullglob
não faz com que o padrão se expanda para a cadeia vazia; faz com que desapareça completamente. É a diferença entrescp "" .
(dois argumentos, um dos quais é a cadeia vazia) escp .
(um único argumento e uma chamada inválida parascp
).