Come utilizzare il comando cp nello script bash per copiare file con spazi e caratteri $ in esso? [duplicate]

Questa domanda ha già una risposta qui :

Commenti

  • La risposta menziona luso delle virgolette per la variabile che sto già utilizzando e ha vinto ' t funziona.
  • vedi " Come posso elaborare un elenco di nomi di file? " sezione

Risposta

Il glob deve essere lasciato non quotato per essere trattato come un glob. Le variabili dovrebbero essere citate:

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

Commenti

  • Grazie mille. Questo ha funzionato. Tuttavia, ho utilizzato solo cp "$TRX_SOURCE_PATH"/*TRX* "$DEST_PATH". Potresti spiegare il significato di -- qui?
  • Devi cercare su Google e capire in che modo le virgolette consentono a un carattere speciale di essere speciale o meno. Soffoca perché sta analizzando i tuoi caratteri come se avessero un significato speciale e non fossero solo caratteri nella stringa del nome del file.
  • @St é phane Chazelas Cosa è -- per?

Risposta

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

dovrebbe funzionare

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *