Tengo este script:
#!/bin/sh -x
/bin/echo "Drag folder into Terminal and hit return ->"
/usr/bin/read folderLocation
/bin/cp -R "$folderLocation" /Users/my/Desktop/
Y regresa:
+ /bin/cp -R '' /Users/my/Desktop/
cp: fts_open: No such file or directory
¿Alguna idea de por qué es eso?
¡Gracias por cualquier idea!
Respuesta1
Conseguí que esto funcionara en Debian Gnu/Linux:
#!/bin/sh -x
/bin/echo "Drag folder into Terminal and hit return ->"
read folderLocation
eval "cp -R -t '/home/my/Desktop' $folderLocation"
Dejé la ruta para leer (es posible que no sea necesario (la lectura está integrada en bash y no puedo encontrarla en /usr/bin
o /bin
)
Los cambios importantes están en la última línea:
- La opción -t seguida del directorio de destino hace que cp sea más sólido.
- eval es necesario debido a las comillas colocadas alrededor del valor de retorno mediante lectura.
En cuanto a por qué obtienes '' (cadena vacía de lectura). Supongo que se debe a que arrastrar y soltar no funciona, esta no es una característica del shell sino del terminal y del administrador de archivos. ¿Qué programa de terminal estás usando?