Як у скрипті оболонки я легко і неінвазивно перевіряю доступ для запису до файлу, не намагаючись змінити файл?
Я міг би проаналізувати вихід stat
, але це здається дійсно складним та, можливо, крихким, хоча я не впевнений, наскільки статичний вихід відрізняється в різних реалізаціях та за часом.
Я міг би додати в кінець файлу і побачити, чи вдалося це, але це потенційно небезпечно, з двох причин, про які я можу подумати:
- Тепер я маю видалити додавання, і якщо якийсь інший процес записує у файл, це одразу стає нетривіальним, оскільки мій рядок вже не останній.
- Будь-який процес, який читає файл, може мати довільні вимоги до вмісту цього файлу, і я, можливо, просто порушив цю програму.