Ответ 1
Для bash вы можете использовать переменную EUID
:
if [ "$EUID" == 0 ] ; then
..something..
else
..something else
fi
Для POSIX-совместимого решения используйте:
if [ "`id -u`" == 0 ] ; then
Хотя помните, что обычный ответ на ваш вопрос - "не делай этого". Вы никогда не знаете, когда кто-то решит запустить ваш код в среде, которую вы не ожидали... Итак, в общем случае вместо "проверить разрешения затем сделать что-то" лучший подход - "попытаться что-то сделать, а затем обнаружить,".