¿Por qué obtengo un comportamiento diferente del comando scp en csh y bash?

0

¿Por qué obtengo un comportamiento diferente del comando scp en csh y bash?

El mismo comando funciona en csh shell, pero no funciona en bash shell.

Por favor, ¿alguien puede ayudar?


bash-3.2$  csh
Linux-007% scp root@1.2.3.4:/{/root/install.log} /
install.log 100% 98KB 97.6KB/s 00:00
Linux-007%  which scp
/usr/bin/scp

Linux-007% bash
bash-3.2$  scp root@1.2.3.4:/{/root/install.log} /
scp: /{/root/install.log}: No such file or directory
bash-3.2$ which scp
/usr/bin/scp
user87005
fuente

Respuestas:

2

scpNo es el problema. El problema está en la forma en que las dos cubiertas manejan las llaves.

csh% echo root@1.2.3.4:/{/root/install.log}
root@1.2.3.4://root/install.log

bash$ echo root@1.2.3.4:/{/root/install.log}
root@1.2.3.4:/{/root/install.log}

¿Por qué quieres las llaves de todos modos?

Keith Thompson
fuente
Sí, quiero copiar varios archivos.
user87005
1
El comando que nos mostró solo copia un archivo. Pero si quieres las llaves para ser interpretadas en el sistema remoto, poner comillas simples alrededor del argumento: scp '[email protected]:/{/root/install.log}' /.
Keith Thompson el
mismo problema bash-3.2 $ scp [email protected]: / '{/ root / install.log}' / [email protected] contraseña: scp: /{/root/install.log}: No existe tal archivo o directorio
user87005
Luego suelta los frenos. Si está copiando un solo archivo, como parece estar tratando de hacer en su ejemplo, no use llaves. Si realmente necesita copiar varios archivos, use llaves y comas, y cítelos:scp [email protected]:{this_file,that_file}' /
Keith Thompson