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 .txt
Dateien in einer for
Schleife auflisten, damit ich sie bearbeiten kann. Aber der Raum in my directory
und der Stern in spielen *.txt
einfach 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 .txt
Dateien 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.