Защита от случайной перезаписи содержимого файла
Защита от случайной перезаписи содержимого файла.
Любой знающий основы шела знает как можно создать файл с помощью перенаправления ввода/вывода
$ echo какой то текст > test.txt $ cat test.txt какой то текст
Но если в файле test.txt был не пустой то содержимое файла перепишется, и восстановить его уже не удастся.
В bash от такого можно защитится с помощью установки опции set -o noclobber
$ set -o noclobber $ echo другой текст > test.txt bash: test.txt: не могу переписать уже существующий файл $
Если вы знаете что делаете, и хотите переписать файл то можно или отменить эту опцию или воспользоваться специальной формой перенаправления >|
$ set +o noclobber #или $ echo тест >| test.txt
В zsh аналогичные опции выглядят так
$ setopt clobber $ setopt noclobber
И кроме привычного >| есть другая форма >!
$ echo тест >! test.txt $ echo тест >| test.txt
- 830 просмотров
Страница для печати


Отправить комментарий