Beim Codieren von Linux-Shell-Skripts stehen mir kleinere Probleme bevor.
Meine Codes sind unten und ich habe Schwierigkeiten, Eingaben vorzunehmenmeine geänderten Zeichenfolgennamen für die Variable namens "Dateiname" (siehe unten). Und dann befahl ich einem Echo, um festzustellen, dass der vorherige Code gut funktioniert. Es gibt jedoch nichts aus.
Wie kann ich dieses Problem lösen?
for file in ./*.txt
do
fileName=$file | rev | cut -d. -f2 | rev
echo {$fileName}
done
Wie gesagt, das Echo {$ fileName} hat nicht die Wörter ausgegeben, die ich extrahieren wollte.
Ich freue mich auf Ihre hilfreichen Ratschläge :)
Antworten:
1 für die Antwort № 1Sie müssen die Befehlsersetzung verwenden $()
:
Auch verwenden echo
um den Wert der Variablen zu erhalten file
:
fileName="$( echo "$file" | rev | cut -d. -f2 | rev )"
Oder verwenden Sie hier Zeichenketten:
fileName="$( rev <<<"$file" | cut -d. -f2 | rev )"