Odpowiedzi:
Tak. Dołącz |
do operatora przekierowania, aby utworzyć >|
. Jest to zawarte w § 3.6.2 podręcznika Bash Reference , qv
Jeśli operatorem przekierowania jest „>”, a opcja noclobber do wbudowanego zestawu została włączona, przekierowanie zakończy się niepowodzeniem, jeśli plik, którego nazwa wynika z rozwinięcia słowa, istnieje i jest plikiem zwykłym. Jeśli operatorem przekierowania jest „> |” lub operatorem przekierowania jest „>”, a opcja noclobber nie jest włączona, nastąpi próba przekierowania, nawet jeśli istnieje plik o nazwie słowo.
Odwiedź ten samouczek na temat opcji noclobber . To może być pomocne.
Użyj |
(„potoku”) w bash
, zamiast !
(„huku”), tak jak byś to zrobił csh
. Na przykład:
echo done >| out
Należy pamiętać, że jeśli chcesz przekierować stderr
do stdout
i przesłonić noclobber
, ani >|&
też nie &>|
będzie działać; zamiast tego użyj długiego formularza:
cmd-with-errors done >| out 2>&1
err &>| out
nie działa?