Respuestas:
Debe usar el comando mount (8), que está disponible de fábrica en todos los sistemas Linux y UNIX.
Si se ejecuta mountsin ningún argumento adicional, aparecerá una lista de todos montados el momento particiones en su sistema, el tipo de sistema de archivos y cualquier opciones de montaje, como por ejemplo noexec, rwo nosuid.
P.ej:
% mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
/dev/sda1 on /boot type ext4 (rw,relatime,data=ordered)
/dev/mapper/basement-root on / type ext4 (rw,relatime,data=ordered)
/proc/mountscon preferencia a mount. Si /etc/mtabno se actualiza (p. Ej., Porque /es de solo lectura), la salida de mountpuede no estar actualizada. Además, para algunas opciones (no noexec), mountle ofrece una salida filtrada que puede ser engañosa para algunas combinaciones de versiones del núcleo y el montaje (por ejemplo, con las opciones relacionadas con atime).
Suponiendo que esté ejecutando esto en Linux, sí, está bien. Sería un poco más robusto comprobar que noexecestá entre comas o al principio o al final de su columna.
grep -Eq '^[^ ]+ /location [^ ]+ ([^ ]*,)?noexec[, ]' /proc/mounts
Esto podría ser más claro en awk:
awk -v location="/location" '$2 == location {exit(!($4 ~ /(^|,)noexec($|,)/))} END {exit(2)}'