Hvordan bruke cp-kommandoen i bash-skript for å kopiere filer med mellomrom og $ tegn i? [duplikat]

Dette spørsmålet har allerede svar her :

Kommentarer

  • Svaret nevner å bruke anførselstegn for variabelen som jeg allerede bruker, og den vant ' t fungerer.
  • se " Hvordan behandler jeg en liste med filnavn? " seksjon

Svar

Globen må være unotert for at den skal kunne bli behandlet som en glob. Variablene bør siteres:

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

Kommentarer

  • Tusen takk. Denne fungerte. Imidlertid brukte jeg bare cp "$TRX_SOURCE_PATH"/*TRX* "$DEST_PATH". Kan du forklare betydningen av -- her?
  • Du må google og forstå hvordan anførselstegn tillater at et spesialtegn er spesielt eller ikke. Det kveles fordi det analyserer tegnene dine som om de hadde spesiell betydning og ikke bare var tegn i filnavnet.
  • @St é phane Chazelas Hva er -- for?

Svar

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

skal fungere

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *