Когда выполняется IO-Redirection Operator?

Я немного запутался в том, как Linux работает с операторами перенаправления.

У меня в домашнем каталоге только один файл:

andy$: ls
demo.mp4

Теперь, если я пошлю вывод ls в файл, я должен увидеть только demo.mp4 в файле, потому что в каталоге нет ничего, кроме этого файла:

andy$: ls > myfile

Но на самом деле я заметил что мой файл содержит сам себя!

andy$ cat myfile
demo.mp4
myfile <-- ???

Значит ли это, что ls выполняется после создания моего файла ?

Что-то вроде:

  1. Создайте содержимое моего файла
  2. Перечислите содержимое каталога с помощью ls
  3. Запишите содержимое (теперь мой файлсуществует) в файле мой файл

Так что в случае, если мне нужно исключить файл, на который я перенаправляю, я думаю, что должен сделать:

ls | grep -v "myfile" > myfile

Так что сначала, я прав?

Если да, то почему ? Где я могу найти дополнительную информацию об этом?

0
23.01.2020, 12:07
0 ответов

Теги

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