cp: fts_open: Nenhum erro de arquivo ou diretório

cp: fts_open: Nenhum erro de arquivo ou diretório

Eu tenho esse script:

    #!/bin/sh -x

    /bin/echo "Drag folder into Terminal and hit return ->"
    /usr/bin/read folderLocation

    /bin/cp -R "$folderLocation" /Users/my/Desktop/

E retorna:

+ /bin/cp -R '' /Users/my/Desktop/
cp: fts_open: No such file or directory

Alguma ideia do porquê disso?

Obrigado por qualquer visão!

Responder1

Eu fiz isso funcionar, no 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"

Eu deixei cair o caminho para ler (talvez você não precise fazer isso (read é um recurso interno do bash e não consigo encontrá-lo em /usr/binor /bin)

Mudanças importantes estão na última linha:

  • A opção -t seguida pelo diretório de destino torna o cp mais robusto.
  • eval é necessário por causa das aspas colocadas no valor de retorno pela leitura.

Quanto ao motivo de você obter '' (string vazia da leitura). Suponho que seja porque arrastar e soltar não está funcionando, esse não é um recurso do shell, mas do terminal e do gerenciador de arquivos. Qual programa de terminal você está usando?

informação relacionada