small bugfixes
authorJoerg Jaspert <joerg@ganneff.de>
Tue, 16 Jul 2013 14:31:22 +0000 (16:31 +0200)
committerJoerg Jaspert <joerg@ganneff.de>
Tue, 16 Jul 2013 14:32:13 +0000 (16:32 +0200)
bin/tm

diff --git a/bin/tm b/bin/tm
index 7ed0cea..311d728 100755 (executable)
--- a/bin/tm
+++ b/bin/tm
@@ -81,7 +81,7 @@ unset bindex
 # this name? (Ie. second multisession to the same set of hosts)
 # This is either set by the getopts option -n or by having -n
 # as very first parameter after the tm command
-if [[ "${1}" = "-n" ]]; then
+if [[ $# -ge 1 ]] && [[ "${1}" = "-n" ]]; then
     DOUBLENAME=true
     # And now get rid of it. getopts won't see it, as it was first and
     # we remove it - but it doesn't matter, we set it already.
@@ -175,17 +175,15 @@ function clean_session() {
 # Merge the commandline parameters (hosts) into a usable session name
 # for tmux
 function ssh_sessname() {
-    local sess="${*}"
-
     if [[ ${TMSORT} = true ]]; then
         local one=$1
         # get rid of first argument (s|ms), we don't want to sort this
         shift
-        sess=$(for i in $*; do echo $i; done | sort | tr '\n' ' ')
+        local sess=$(for i in $*; do echo $i; done | sort | tr '\n' ' ')
         sess="${one} ${sess% *}"
     else
-        # no sorting, wanted, so we just get rid of first argument (s|ms)
-        shift
+        # no sorting wanted
+        local sess="${*}"
     fi
     clean_session ${sess}
 }
@@ -215,7 +213,12 @@ function own_config() {
 case ${cmdline} in
     ls)
         # Simple overview of running sessions
-        tmux list-sessions
+        IFS=""
+        if output=$(tmux list-sessions 2>/dev/null); then
+           echo $output
+        else
+            echo "No tmux sessions available"
+        fi
         exit 0
         ;;
     s|ms)