Несуществующий файл
$ ls file_not_exists.txt
ls: cannot access file_not_exists.txt: No such file or directory
$ echo <> file_not_exists.txt
$ ls file_not_exists.txt
file_not_exists.txt
$ cat file_not_exists.txt
$
Файл с содержанием
$ cat temp.txt
asdf
$ echo temp.txt
temp.txt
$ echo <> temp.txt
$ cat temp.txt
asdf
Если файл не существует, echo <> file_not_exists.txt
создаст новый файл. Поэтому я думаю, что >
работает (перенаправляя пустой вывод во вновь созданный файл). Но если в файле есть что-то (например, temp.txt
), почему это не очищается echo <> temp.txt
?