Wie kann ich die Ausgabe dieses Befehls in eine Variable speichern und trotzdem die Dateien entfernen?BASH Wie kann ich die Ausgabe von rm -vri in eine Variable speichern
rm -vri files | wc -l
Wie kann ich die Ausgabe dieses Befehls in eine Variable speichern und trotzdem die Dateien entfernen?BASH Wie kann ich die Ausgabe von rm -vri in eine Variable speichern
rm -vri files | wc -l
$ touch file1 file2
$ out=$(rm -vri file1 file2 | wc -l)
rm: remove regular empty file ‘file1’? y
rm: remove regular empty file ‘file2’? y
$ echo $out
2
Wie Sie sehen können, arbeitet die normale var=$(command)
Methode.
Dies funktioniert auch, wenn Sie es von einem Skript aus ausführen. Offensichtlich müssen Sie die Eingabe bereitstellen (z. B. wird das Ausführen von cron nicht funktionieren).
Das war's, danke! –
Verwenden Sie die Anführungszeichen: 'echo" $ {out} "', wenn Ihre Ausgabe mehr als eine Zeile enthält. –
@WalterA Was ist hier nie der Fall ... – Carpetsmoker
Mögliches Duplikat von [Wie setze ich eine Variable gleich der Ausgabe eines Befehls in Bash?] (Http://stackoverflow.com/questions/4651437/how-to-set-a-variable-equal-to- the-output-from-a-command-in-bash) –