Wie verwende ich den Befehl cp im Bash-Skript, um Dateien mit Leerzeichen und $ -Zeichen zu kopieren? [duplizieren]

Diese Frage hat hier bereits Antworten :

Kommentare

  • In der Antwort wird erwähnt, dass Anführungszeichen für die Variable verwendet werden, die ich bereits verwende, und für diese ' funktioniert nicht.
  • siehe " Wie verarbeite ich eine Liste von Dateinamen? " Abschnitt

Antwort

Der Glob muss nicht in Anführungszeichen gesetzt werden als Glob behandelt werden. Die Variablen sollten in Anführungszeichen gesetzt werden:

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

Kommentare

  • Vielen Dank. Dieser hat funktioniert. Ich habe jedoch nur cp "$TRX_SOURCE_PATH"/*TRX* "$DEST_PATH" verwendet. Könnten Sie bitte die Bedeutung von -- hier erläutern?
  • Sie müssen googeln und verstehen, wie Anführungszeichen es zulassen, dass ein Sonderzeichen etwas Besonderes ist oder nicht. Es verschluckt sich, weil es Ihre Zeichen analysiert, als ob sie eine besondere Bedeutung hätten und nicht nur Zeichen in Ihrer Dateinamenzeichenfolge wären.
  • @St é phane Chazelas What ist -- für?

Antwort

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

sollte funktionieren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.