testcheck="$(df -h | awk '{print $6}' | grep "/test")"
if [ "$tescheck" != "/test" ]
update
I проверил только синтаксис оболочки и не проверял, что делает код. Чтобы проверить, смонтировано ли что-то на / test
, сделайте следующее:
if grep -E '^[^ ]+ /test ' /proc/mounts &>/dev/null; then
Во-первых, у пользователей нет RealUID. У пользователей есть UID. Период. (Ситуация с GID немного сложнее.)
Процессы имеют реальные UID и эффективные UID (и другие ).
Во-вторых, выполнение файла никогда не изменит реальный UID или реальный GID процесса.
В-третьих, выполнение foo
не изменит никаких идентификаторов процесса, потому что в его режиме не установлен бит setUID или setGID.
А зачем вы удосужились оговорить файл bar
у которого установлен бит setGID в режиме, когда вы не задаете никаких вопросов об этом?
Проведите дополнительное исследование и отредактируйте свой вопрос , чтобы он был более последовательным.