Wann sollten Platzhalter innerhalb / außerhalb von doppelten Anführungszeichen stehen?
Was ist der richtige Weg, um mit einem Platzhalter und einer Variablen viele Dateien zu löschen? Das ist meine Variable"$dir"
$ echo "$dir"
/home/path/to/file
Hier habe ich den Platzhalter in den doppelten Anführungszeichen, aber es funktioniert nicht:
$ rm "$dir/data/ffg_per_product/ffg*"
rm: cannot remove `/home/path/to/file/data/ffg_per_product/ffg*': No such file or directory
Hier habe ich den Platzhalter außerhalb der doppelten Anführungszeichen und es funktioniert:
$ rm "$dir/data/ffg_per_product/ffg"*
Und hier können Sie sehen, dass die Dateien gelöscht wurden:
$ ls -lth ffg_per_product/ffg* | wc -l
ls: cannot access ffg_per_product/ffg*: No such file or directory
0
So was ich wissen möchte, ist, dass ich die Anführungszeichen richtig verwende, um die Dateien zu löschenrm "$dir/data/ffg_per_product/ffg"*
Mit dem Platzhalter die Anführungszeichen setzen? Oder gibt es einen anderen / besseren Weg?
HINWEIS wahrscheinlich offensichtlich für einige, aber nur als Referenz und um klar zu sein, gilt das gleiche fürls
z.B.ls "$dir/data/ffg_per_product/NAME"* | wc -l
Muss der Platzhalter in diesem Fall außerhalb der doppelten Anführungszeichen stehen?