From: Nicolas Boisselier Date: Mon, 20 May 2019 03:37:39 +0000 (+0100) Subject: etc/profile.d/sys.sh X-Git-Url: https://git.nbdom.net/?a=commitdiff_plain;h=4c667d2ea076ba1b30f3717ac255e42fde6b895e;p=nb.git etc/profile.d/sys.sh --- diff --git a/etc/profile.d/sys.sh b/etc/profile.d/sys.sh index 8177840f..4a893aad 100644 --- a/etc/profile.d/sys.sh +++ b/etc/profile.d/sys.sh @@ -246,8 +246,15 @@ sys_temperatures() { #awk '{ count++; sum+=$1 } END {printf("%.1f",sum/count/1000)}' /sys/class/thermal/thermal_zone*/temp } +sys_umount_dir() { + sys_mount_dir --unmount $@ +} + sys_mount_dir() { - local usage="Usage: sys_mount_dir DIR" + local usage="Usage: sys_mount_dir [--umount] DIR" + + local umount=0 + [ "$1" = "--unmount" ] && umount=1 && shift local dir=${1:?$usage} [ ! -d "$dir" ] && echo "$usage" && return 1 @@ -257,7 +264,13 @@ sys_mount_dir() { -o "$real_dir" = "$(pwd)" \ ] && echo "Directory not allowed: $dir ( $real_dir )" && return 1 - for i in proc dev dev/pts sys; do - echo mount -o bind /$i $dir/$i + for i in proc dev dev/pts dev/shm sys; do + [ -d "/$i" -a -d "$dir/$i" ] || continue + + if [ "$umount" = "0" ]; then + echo mount -v -o bind /$i $dir/$i + else + echo umount -v $dir/$i + fi done }