Hur använder jag cp-kommandot i bash-skript för att kopiera filer med mellanslag och $ tecken i det? [duplicera]

<åt sidan class = "s-notice s-notice__info js-post-notice mb16" role = "status">

Denna fråga har redan svar här :

Kommentarer

  • Svaret nämner att använda citat för variabeln som jag redan använder och den vann ' fungerar inte.
  • se " Hur bearbetar jag en lista med filnamn? " avsnitt

Svar

Globen måste lämnas ociterad för att den ska kunna behandlas som en glob. Variablerna bör citeras:

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

Kommentarer

  • Tack så mycket. Den här fungerade. Men jag använde bara cp "$TRX_SOURCE_PATH"/*TRX* "$DEST_PATH". Kan du snälla förklara betydelsen av -- här?
  • Du måste google och förstå hur citat tillåter att ett specialtecken är speciellt eller inte. Det kväver eftersom det tolkar dina karaktärer som om de hade en speciell betydelse och inte bara var tecken i filnamnsträngen.
  • @St é phane Chazelas Vad är -- för?

Svar

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

ska fungera

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *