Необходимо обновить систему, или можно столкнуться с несовместимостями ядра. Серьезно рассмотрите обновление. Если Fedora обновляет слишком много для Ваших потребностей, рассмотрите использование CentOS или Научного Linux. Fedora 19 находится в состоянии Raw Hide в данный момент. Текущая стабильная версия является Fedora 18
Просто используйте -w
флаг test
utillity:
[ -w /path/to/file ] && echo "writeable" || echo "write permission denied"
Обратите внимание, что если вы собираетесь позже записывать в файл, то все равно возможно, что вы не сможете в него записать. Файл мог переместиться, разрешения могли измениться и т.д. Также может случиться, что -w
обнаруживает разрешения на запись, но вмешивается какой-то другой фактор, который делает файл недоступным для записи .
Другой подход:
if >> /path/to/file
then
echo "writeable"
else
echo "write permission denied"
fi
Попробуем открыть файл для добавления, и, если это удастся, выполните ни одной команды (т.е. выполните нулевую команду ) с выводом в файл.
Остерегайтесь, что это создаст пустой файл, если его не существовало.
Оператор -w
команды test
может просто сделать stat
а потом попробуй выяснить, похоже ли это на то, что у тебя должен быть доступ.
Моя альтернатива (выше) более надежна, чем подход test
.
в некоторых особых условиях,
потому что это заставляет проверять доступ не оболочку, а ядро.
Например,
stat
может вернуть вводящее в заблуждение значение режима.