Відповіді:
Так. Додайте |до форми оператора перенаправлення >|. Про це йдеться в § 3.6.2 Довідкового посібника Баша , кв
Якщо оператором переадресації є '>', а опція noclobber для встановленого набору ввімкнена, перенаправлення буде невдалим, якщо файл, ім'я якого в результаті розширення слова існує, є звичайним файлом. Якщо оператором переадресації є '> |', або оператором переадресації є '>', а опція noclobber не ввімкнена, спробу перенаправлення намагається навіть у тому випадку, якщо файл, названий словом, існує.
Перегляньте цей підручник про опцію noclobber . Це може допомогти.
Використовуйте |("труба") в bash, а не !("удар") так, як у вас csh. Наприклад:
echo done >| out
Зверніть увагу , що якщо ви хочете перенаправити stderrдо stdout і перевизначення noclobber, ні , >|&ні &>|працюватиме; використовувати замість нього довгу форму:
cmd-with-errors done >| out 2>&1
err &>| outне працює?