Como usar o comando cp no script bash para copiar arquivos com espaços ans $ caracteres nele? [duplicar]

Esta questão já tem respostas aqui :

Comentários

  • A resposta menciona o uso de aspas para a variável que já estou usando e não ' funcionará.
  • consulte " Como processo uma lista de nomes de arquivo? " seção

Resposta

O glob deve ser deixado sem aspas para que ser tratado como um glob. As variáveis devem ser citadas:

cp -- "$TRX_SOURCE_PATH"/*TRX* "$DEST_PATH" 

Comentários

  • Muito obrigado. Este funcionou. No entanto, usei apenas cp "$TRX_SOURCE_PATH"/*TRX* "$DEST_PATH". Você poderia explicar o significado de -- aqui?
  • Você precisa pesquisar no Google e entender como as citações permitem que um caractere especial seja especial ou não. É sufocante porque analisa seus caracteres como se eles tivessem um significado especial e não apenas caracteres em sua string de nome de arquivo.
  • @St é phane Chazelas O que é -- para?

Resposta

#!/bin/bash TRX_SOURCE_PATH="/src/path" DEST_PATH="/your/dest" cp $TRX_SOURCE_PATH/Bharti\ Blocked\ TRX\ Report\ \ Morning\$*@* $DEST_PATH 

deve funcionar

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *