Как я могу использовать вывод предыдущей команды?

Я пытался удалить все файлы в папке с .class расширение, таким образом, я сделал маленький сценарий оболочки. Кто-либо может сказать мне, почему это не работает, и предложите решение для моей проблемы?

Сценарий:

#!/bin/bash

ls | grep .class  
for i in $*
do    
rm $i
done
2
задан 29 September 2015 в 14:55

1 ответ

В первую очередь, для удаления всех файлов с .class расширение Вам не нужно что-то большее чем:

rm *.class

В любом случае, как правило, Вы действительно не должны пытаться проанализировать вывод ls. Это перестанет работать для в значительной степени любого странного имени файла.

Для дальнейшего использования, для итерации по результатам команды, использования while цикл. Например:

command | while read i; do rm "$i"; done
7
ответ дан 2 December 2019 в 01:37

Другие вопросы по тегам:

Похожие вопросы: