Ich habe Probleme, die Grundlagen der Bash-Skripterstellung zu verstehen. Folgendes habe ich bisher:
#!/bin/bash
FILES="/home/john/my directory/*.txt"
for f in "${FILES}"
do
echo "${f}"
done
Ich möchte nur alle .txtDateien in einer forSchleife auflisten, damit ich sie bearbeiten kann. Aber der Raum in my directoryund der Stern in spielen *.txteinfach nicht gut. Ich habe versucht, es mit und ohne doppelte Anführungszeichen, mit und ohne geschweifte Klammern bei Variablennamen zu verwenden, und kann immer noch nicht alle .txtDateien drucken .
Das ist eine sehr grundlegende Sache, aber ich habe immer noch Probleme, weil ich müde bin und nicht klar denken kann.
Was mache ich falsch?
Ich konnte das obige Skript erfolgreich anwenden, wenn meine DATEIEN kein Leerzeichen oder Sternchen haben ... Ich musste mit oder ohne doppelte Anführungszeichen und geschweifte Klammern experimentieren, damit es funktioniert. Aber in dem Moment, in dem ich sowohl Leerzeichen als auch ein Sternchen habe, wird alles durcheinander gebracht.