Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. HAMSTER=/usr/bin/hamster
  4. IFS=$'\n'
  5.  
  6. function readVariable {
  7. unset "$1"
  8. while [ -z "${!1}" ]; do
  9. read -p "$2 name: " "$1"
  10.  
  11. if [ -z "${!1}" ]; then
  12. read -p "Abort?" -n 1 -r ABORT
  13. echo
  14.  
  15. if [[ $ABORT =~ ^[yY]$ ]]; then
  16. exit 0
  17. fi
  18. fi
  19. done
  20. }
  21.  
  22. CATEGORIES=($($HAMSTER categories && echo '$NEW$'))
  23.  
  24. PS3="Category: "
  25. select CATEGORY in "${CATEGORIES[@]}"; do
  26. case $CATEGORY in
  27. '')
  28. echo "Select a number between 1 and ${#CATEGORIES[@]}"
  29. ;;
  30. '$NEW$')
  31. readVariable CATEGORY Category
  32.  
  33. readVariable ACTIVITY Activity
  34.  
  35. break
  36. ;;
  37. *)
  38. ACTIVITIES=($($HAMSTER activities | grep $CATEGORY | cut -d'@' -f1 && echo '$NEW$'))
  39.  
  40. PS3='Activity: '
  41. select ACTIVITY in "${ACTIVITIES[@]}"; do
  42. case $ACTIVITY in
  43. '')
  44. echo "Select a number between 1 and ${#ACTIVITIES[@]}"
  45. ;;
  46. '$NEW$')
  47. readVariable ACTIVITY Activity
  48.  
  49. break
  50. ;;
  51. *)
  52. break
  53. esac
  54. done
  55. break
  56. ;;
  57. esac
  58. done
  59.  
  60. IFS=' '
  61. read -p "Tag names: " -a TAGS
  62.  
  63. if [ ! -z "$TAGS" ]; then
  64. TAGS=$(printf "#%s" "${TAGS[@]}")
  65. fi
  66.  
  67. $HAMSTER track "$ACTIVITY@$CATEGORY$TAGS"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement