In bash script, what is difference between > and >| redirections?

What is the difference between the following two redirection commands?

ls > out
ls >| out

They both seem to produce the same output.

2
задан 17 December 2017 в 10:38
1 ответ

Согласно [1] разница в том, что >| перенаправляет вывод в файл, даже если установлена опция ноклоббера. Опция ноклоббера

устанавливается опцией командной строки bash -C и предотвращает перезапись файлов путем перенаправления [2]. При установке опции ноклоббера ls >| out перезаписывает файл out, а ls > out - нет.

[1] http://tldp.org/LDP/abs/html/special-chars.html
[2] http://tldp.org/LDP/abs/html/options. html#NOCLOBBERREF

2
ответ дан 3 December 2019 в 11:31

Теги

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