rendered paste body#!/bin/bash# volctl (1) - Wrapper for controlling volume on OSX via applescript.mute () { osascript -e 'set volume with output muted'}unmute () { osascript -e 'set volume without output muted'}mutetoggle () { osascript <<TOGGLEset isMuted to output muted of (get volume settings)set newMuted to not isMutedset volume output muted newMutedTOGGLE}setvol () { newVolume=$1 if [ $newVolume -gt 100 ]; then newVolume=100 fi if [ $newVolume -lt 0 ]; then newVolume=0 fi osascript -e "set volume output volume $newVolume" echo "Volume set to $newVolume"}volup () { currentVolume=$(osascript -e 'return output volume of (get volume settings)') setvol $(expr $currentVolume + $1)}voldown () { currentVolume=$(osascript -e 'return output volume of (get volume settings)') setvol $(expr $currentVolume - $1)}usage () { cat <<USAGE$(basename $0) - Control OSX volume via applescriptOptions: -h - Print this help -m - Mute volume -u - Unmute Volume -t - Toggle mute status +N - Increase volume by N, to a max of 100 -N - Decrease volume by N, to a minimum of 0 N - Set volume to NUSAGE}if [ -n "$1" ]; then case $1 in -h) usage ;; -m) mute ;; -u) unmute ;; -t) mutetoggle ;; +*) volup "${1#+}" ;; -*) voldown "${1#-}" ;; *) setvol "$1" ;; esacelse usagefi