This looks like an interesting project. However, Togs will fail to run
if /bin/sh is linked to bash (or zsh?) due to Togs attempting to set a
read only variable ($UID) in a couple of functions. Renaming this to
$S_UID seems to fix the entire problem. A patch is attached.
commit 87d48f4cef3ef13d776e3a38fbfae3b834008bef
Author: Bennett, Bryan <bbenn...@gmail.com>
Date:   Mon Nov 25 09:25:23 2013 -0500

    Fix bash/zsh compatibility.
    
    Changes $UID to $S_UID throughout, as both bash & zsh reserve $UID for a
    readonly variable by that name.

diff --git a/togs b/togs
index 6053994..21b8d13 100755
--- a/togs
+++ b/togs
@@ -172,14 +172,14 @@ prelaunch() {
         fi
     fi
 
-    UID=`name2uid $NAME`
-    [ "$UID" = "ERR" ] && UID="`mkUID $NAME`"
+    S_UID=`name2uid $NAME`
+    [ "$S_UID" = "ERR" ] && S_UID="`mkUID $NAME`"
 
     # Set terminal window title to include the togs session name
     printf "\033]0;$SCRIPT - $NAME\007"
 
     # dtach will either reconnect or launch a new session
-    $DTACH -A "$BASE.$UID.session" $DTACH_OPTS $SCRIPTPATH -d $RCDIR --launch $NAME
+    $DTACH -A "$BASE.$S_UID.session" $DTACH_OPTS $SCRIPTPATH -d $RCDIR --launch $NAME
     menu 0
 }
 
@@ -220,13 +220,13 @@ locking() {
     ACTION=$1
     NAME=$2
 
-    UID=`name2uid $NAME`
-    [ "$UID" = "ERR" ] && errout "Session $NAME does not exist"
+   S_UID=`name2uid $NAME`
+    [ "$S_UID" = "ERR" ] && errout "Session $NAME does not exist"
 
     perm="600"
     [ "$ACTION" = "-u" ] && perm="666"
 
-    chmod $perm $BASE.$UID.* || errout "Error changing permissions of session $NAME"
+    chmod $perm $BASE.$S_UID.* || errout "Error changing permissions of session $NAME"
 
     exit 0;
 }
@@ -236,10 +236,10 @@ send_cmd() {
     NAME=$1
     COMMAND=$2
 
-    UID=`name2uid $NAME`
-    [ "$UID" = "ERR" ] && errout "Session $NAME does not exist"
+    S_UID=`name2uid $NAME`
+    [ "$S_UID" = "ERR" ] && errout "Session $NAME does not exist"
 
-    echo $COMMAND >"$BASE.$UID.cmd"
+    echo $COMMAND >"$BASE.$S_UID.cmd"
 
     exit 0
 }
@@ -248,13 +248,13 @@ rename() {
     OLD=$1
     NEW=$2
 
-    UID=`name2uid $OLD`
-    [ "$UID" = "ERR" ] && errout "Session $OLD does not exist"
+    S_UID=`name2uid $OLD`
+    [ "$S_UID" = "ERR" ] && errout "Session $OLD does not exist"
     [ "`name2uid $NEW`" = "ERR" ] || errout "Session $NEW already exists"
 
     checkID $NEW
 
-    mv $BASE.$UID.name.$OLD $BASE.$UID.name.$NEW
+    mv $BASE.$S_UID.name.$OLD $BASE.$S_UID.name.$NEW
 
     exit 0
 }

Reply via email to