sess 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/bin/bash
  2. ###############################################################################
  3. # Add this to ~/.bashrc
  4. ###############################################################################
  5. # Sess autocomplete
  6. # sess_completions()
  7. # {
  8. # if [ "${#COMP_WORDS[@]}" != "2" ]; then
  9. # return
  10. # fi
  11. # while read line; do
  12. # COMPREPLY+=("${line}")
  13. # done <<<$(sess autocomplete | grep "${COMP_WORDS[1]}")
  14. # }
  15. # complete -F sess_completions sess
  16. ###############################################################################
  17. session_name="$1"
  18. session_name_new="$2"
  19. if [[ $session_name = "autocomplete" ]]; then
  20. tmux ls | awk -F":" '{ print $1 }'
  21. exit 0
  22. fi
  23. if [[ $session_name != "" ]]; then
  24. if [[ $session_name_new != "" ]]; then
  25. tmux rename-session -t $session_name $session_name_new
  26. exit 0
  27. fi
  28. fi
  29. if [[ $session_name == "" ]]; then
  30. tmux ls
  31. else
  32. tmux has-session -t $session_name 2>/dev/null
  33. result="$?"
  34. if [ $result == "0" ]; then
  35. tmux attach -t $session_name
  36. else
  37. tmux new -s $session_name
  38. fi
  39. fi