Advertisement
Guest User

gearpos

a guest
Feb 6th, 2022
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.24 KB | None | 0 0
  1. #!/bin/bash
  2. SCRIPT_DIR=$(cd $(dirname $0); pwd)
  3.  
  4. POS_CURRENT=$(grep -i `$SCRIPT_DIR/devterm-a06-gearbox|grep MHz|sed -e 's/ //g'` $SCRIPT_DIR/gearstate.txt|awk '{print $1}')
  5. [ -z "$POS_CURRENT" ] && POS_CURRENT=3
  6.  
  7. function change_gear() {
  8.         sudo $SCRIPT_DIR/devterm-a06-gearbox -s $POS_NEW >/dev/null
  9. }
  10.  
  11. function disp_gear() {
  12.         POS_MSG2="GEAR $(grep ^$POS_NEW $SCRIPT_DIR/gearstate.txt)"
  13.         echo $POS_MSG1
  14.         echo $POS_MSG2
  15.         [ -n "$DBUS_SESSION_BUS_ADDRESS" ] && notify-send "$POS_MSG1" "$POS_MSG2"  --icon=dialog-information
  16. }
  17.  
  18. case "$1" in
  19.         [123456] ) POS_NEW=$1
  20.                 POS_MSG1="GEAR $POS_CURRENT to $POS_NEW"
  21.                 change_gear
  22.                 disp_gear;;
  23.  
  24.         "up" ) POS_NEW=$((POS_CURRENT + 1))
  25.                 [ $POS_NEW = 7 ] && POS_NEW=6
  26.                 POS_MSG1="GEAR $POS_CURRENT to $POS_NEW"
  27.                 change_gear
  28.                 disp_gear;;
  29.  
  30.         "down" ) POS_NEW=$((POS_CURRENT - 1))
  31.                 [ $POS_NEW = 0 ] && POS_NEW=1
  32.                 POS_MSG1="GEAR $POS_CURRENT to $POS_NEW"
  33.                 change_gear
  34.                 disp_gear;;
  35.  
  36.         *) POS_NEW=$POS_CURRENT
  37.                 POS_MSG1="GEAR $POS_NEW"
  38.                 disp_gear;;
  39. esac
  40.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement