SCREENDIR checks.
[profile.git] / .profile.d / screen.bashrc
index 02026cd..beba505 100644 (file)
@@ -1,12 +1,13 @@
 # Fixup screen and define ``session'' if available.
 screen=$(find_working screen 2>/dev/null)
 if [ $? = 0 ]; then
-  # Override SCREENDIR iff screen is not setuid (but not under sudo).
-  if ! ls -l "$screen" | cut -d ' ' -f 1 | grep s >/dev/null; then
+  # Override SCREENDIR iff screen is not setgid (but not under sudo).
+  if [ ! -g "$screen" ]; then
     if [ -n "$SUDO_USER" ]; then
       unset SCREENDIR
     else
-      export SCREENDIR="$HOME/.screen/$HOSTNAME"
+      export SCREENDIR="~/.screen/$HOSTNAME"
+      mkdir -p "$SCREENDIR"
     fi
   fi