Jak používat příkaz cp v bash skriptu ke kopírování souborů s mezerami a znaky $ v něm? [duplicate]

Tato otázka již má odpovědi zde :

Komentáře

  • Odpověď zmiňuje použití uvozovek pro proměnnou, kterou již používám, a nebude fungovat '
  • viz " Jak zpracuji seznam názvů souborů? " sekce

odpověď

Glob musí být ponechán bez uvozovek být považován za glob. Proměnné by měly být citovány:

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

Komentáře

  • Mnohokrát děkuji. Tenhle fungoval. Použil jsem však pouze cp "$TRX_SOURCE_PATH"/*TRX* "$DEST_PATH". Mohl byste prosím vysvětlit význam -- zde?
  • Musíte vygooglit a pochopit, jak citace umožňují speciálnímu znaku být speciální nebo ne. Je to dusivé, protože analyzuje vaše postavy, jako by měly zvláštní význam a nebyly to jen znaky v řetězci názvu souboru.
  • @St é phane Chazelas Co je -- pro?

odpověď

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

by mělo fungovat

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *