В каком порядке выполняются команды bash по конвейеру? [дубликат]Linux

Anonymous
В каком порядке выполняются команды bash по конвейеру? [дубликат]

Сообщение Anonymous »


В Linux (например, Ubuntu), если у меня есть текстовый файл test.txt со следующим содержимым:

один два три Затем я запускаю следующую команду wc для подсчета строк в файле:

wc -l test.txt Я получаю ожидаемый результат:

3 test.txt Однако, когда я запускаю ту же команду, вывод команды wc передается в то же имя файла:

wc -l test.txt > test.txt А затем загрузите файл test.txt:

cat test.txt Я получаю следующий вывод, указывающий, что test.txt теперь содержит 0 строк данных:

0 test.txt Не следует ли сначала выполнить команду wc -l test.txt, затем временно сохранить результат этой команды, а затем передать вывод в файл?

Если это так, то вторая команда wc -l должна выдать тот же результат, что и первая, но это не так.

Вернуться в «Linux»