Eu tenho um script bash que copia vários arquivos para um servidor remoto usando scp. Este script funciona bem, mas agora eu preciso adicionar um arquivo que contenha um curinga no nome e eu tenho um problema com ele.
#!/bin/sh
files=('path1/subpath/file.*.ext' 'path2/subpath2/nowildcard.ext2' 'path3/subpath3/file3.*.ext3');
for j in "${files[@]}"; do
echo "File \033[1;38;5;226m$j\033[0m is copying."
scp -P12345 $j "name@host:/permanent/path/$j";
done
O script copia os arquivos com curinga (por exemplo, file.12345.ext ou file3.4321.ext3), mas salva no servidor remoto como arquivo. * .Ext e file3. *. Ext3. Tentei usar uma barra invertida nos nomes dos arquivos, mas nesse caso o script não copia os arquivos.
Como consertar este problema?
Desde já, obrigado.
fonte
#!/bin/sh
porque, nas versões recentes do OS X,sh
está realmentebash
sendo executado no modo de compatibilidade. Mas só porque você pode se safar, não significa que é uma coisa razoável a se fazer.