- noclobber - Zabezpiecza przed przypadkowym nadpisaniem istniejącego pliku w przypadku używania przekierowań
Włączenie opcji
set -o noclobber
lub
set -C
Wyłączenie opcji
set +o noclobber
lub
set +C
Po włączeniu tej opcji jeśli w przekierowaniach > plik
i >& plik
plik istnieje, to zostanie wyświetlony błąd.
Zabezpiecza to przed przypadkowym nadpisaniem istniejącego pliku.
Aby zapisać do istniejącego pliku należy wyłączyć opcję noclobber
lub też użyć przekierowania >| plik
.
Przykład:
#!/bin/bash
touch plik
set -o noclobber
ls > plik
ls >| plik
set +C
echo koniec > plik
Po wykonaniu powyzszego skryptu powinniśmy uzyskać błąd:
bash: plik: cannot overwrite existing file
Jest to związane z tym, że opcja noclobber
była wlączona w momencie przekierowywania wyjścia z polecenia ls
(a plik przecież istniał!).