В чем разница между следующими двумя командами перенаправления?
ls > out
ls >| out
Кажется, что они оба производят одинаковый результат.
Согласно [1] разница в том, что >|
перенаправляет вывод в файл, даже если установлена опция noclobber.
Параметр noclobber устанавливается параметром командной строки bash -C
и предотвращает перезапись файлов путем перенаправления [2]. Когда установлена опция noclobber, тогда 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