Bash: Что делает «> |»?

Я только что это записал;

$ some-command >| /tmp/output.txt 

Вертикальные трубы используются в стандартных переадресациях «piping» вывод одной команды в другую, is >| на самом деле совершенно бесполезно, поскольку это было бы так же, как просто > в этом сценарии?

  • Изменена команда PID
  • Сплит stdin строками
  • Как добавить элемент в массив в конвейере?
  • Как скрипт bash может записать свой стандартный вывод из конвейера?
  • Как добавить метку времени в каждую строку файла журнала?
  • Трубопроводы STDERR против STDOUT
  • One Solution collect form web for “Bash: Что делает «> |»?”

    Это не бесполезно – это специализированная форма простого оператора переадресации (и, возможно, смущаясь, не имеет ничего общего с трубами). bash и большинство других современных оболочек имеют опцию noclobber , которая предотвращает перенаправление или перезапись файла, который уже существует. Например, если noclobber истинно, и файл /tmp/output.txt уже существует, это должно завершиться неудачно:

     $ some-command > /tmp/output.txt 

    Однако вы можете явно переопределить настройку noclobber с помощью >| redirection operator – перенаправление будет работать, даже если noclobber установлен.

    Вы можете узнать, установлен ли noclobber в вашей текущей среде с помощью set -o .

    Для исторической заметки, как опция «noclobber», так и ее байпасные функции происходят из csh (конец 70-х). ksh скопировал его (начало 80-х), но использовал >| вместо >! , POSIX ksh синтаксис ksh (так что все оболочки POSIX, включая bash, более новые производные золы, используемые как sh в некоторых системах, поддерживают его). Zsh поддерживает оба синтаксиса. Я не думаю, что это было добавлено к любому варианту оболочки Bourne, но я могу ошибаться.

    Interesting Posts

    Как я могу заставить драйверы Xerox Phaser 3020 работать в Debian 8, Jessie?

    Как распечатать разницу в двух текстовых файлах с помощью сценариев оболочки?

    ed: установите первую строку в качестве текущей строки по умолчанию

    Предотвращение спуфинга почтового сервера

    Есть ли способ понять, почему требуется определенная зависимость пакета?

    Почему «меньше» иногда забывает свою историю

    Эхо-вывод результатов в неустойчивом порядке в BASH

    Выбор файлов, начинающихся с $ LETTER, или буквы позже, чем $ LETTER в алфавите

    Как использовать tune2fs в dd?

    Двойные окна загрузки 8 и Linux Mint 13 (на основе Ubuntu 12.04)

    Что более идиоматично в сценарии bash: `|| true` или `|| : `?

    Руководство пользователя Linux для Windows?

    Добавление разрывов между каждыми двумя словами в bash

    Использование переноса слов с помощью mc

    Могу ли я восстановить том HFS +, если файлы были нечитаемы после восстановления «Восстановление Easus Recovery»? Информация о Testdisk & Diskutil ниже

    Linux и Unix - лучшая ОС в мире.