2013-11-11 3 views
1

У меня возникли проблемы с попыткой записать вывод команды оболочки в файл.Запись команды ввода в файл

Это работает

cssbeautify basket.css > file.css 

Это не делает. basket.css теперь не имеет содержания

cssbeautify basket.css > basket.css 

Это нормальное поведение? Как обойти это?

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

for f in *; 
do cssbeautify $f > temp_file && mv temp_file $f; 
done 

ответ

4

Вы не можете использовать файл как "шаблон" и перенаправлять его.

Использование, например:

cssbeautify basket.css > temp_file && mv temp_file basket.css 

Это создаст temp_file и -При первые выполняется команда successfully- затем перезаписать его basket.css.

2

cssbeautify читает от basket.css, украшает его и пишет STDOUT.

Используя > basked.css, вы инструктируете оболочку записать вывод в basked.css. До этого содержимое файла очищается. Таким образом, cssbeautify считывает пустой файл и выводит пустой файл.

Так что да, это нормальное поведение. После этого вы можете записать во временный файл и mv.

Смежные вопросы