/ / Wie kann man einen vom Linux-Befehl generierten String in eine Variable eingeben? - Linux, Shell

Wie gebe ich die vom Linux-Befehl erzeugte Zeichenfolge in die Variable ein? - Linux, Shell

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 № 1

Sie 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 )"