

This is an expensive piece of hardware (two, if you count my Microsoft keyboard) rendered nigh-on useless by malfunctioning software. And occasionally, randomly, the modifier keys on my (otherwise unsupported by a driver) Microsoft keyboard swap their functions (I have them set to the proper Mac keyboard layout of Command on the right, Option on the left, using the OS X Keyboard prefpane), a problem which is often remedied by unplugging not the Microsoft receiver but the Logitech receiver. Doing this also causes my button configuration to be screwed up I have the thumb button on my Performance Mouse MX set up for Mission Control, and it stops working entirely after unplugging and replugging the Unifying Receiver. It works again, for an indeterminate amount of time, and will often fail again, especially if my Mac has just been started up. Logitech M585 Multi-Device Wireless Mouse Control and Move Text/Images/Files Between 2 Windows and Apple Mac Computers and Laptops with Bluetooth or USB, 2 Year Battery Life, Graphite. Logitech's solution, as per their forums, is to unplug the receiver and plug it back in again. Oddly enough, all the buttons still work though. Now, since the 10.11.2 update has come out, my mouse will often lose the ability to track, stopping the cursor dead in its tracks. So in summary: This script will take down your username, run Logitech's uninstaller, and then delete four folders.Everything had been working properly using v3.9.3 on El Capitan. "Force" means "don't ask me for permission every time you're not sure, just do it." (You can omit the f so it's just rm -r, and it'll be a little safer, but might bother you for permission a few times. Sudo rm -rf -> rm means "remove," as in "delete." -rf means "recursive and force." "Recursive" means "delete all of the contents, too" and is needed for deleting folders. Presumably runs Logitech's uninstall procedure. Sudo /./lghub_updater -uninstall -> Give the uninstall command to the program called lghub_updater. That means "replace this part with the variable user" You'll notice $user in one of the file paths later. User="put your username here" -> That sets a variable called user to use later. I didn't seem to need it, though, so I didn't run it. I think it has something to do with how the script will handle errors (OP halp). Set -euo pipefail -> EDIT: OP explains below! I don't actually know what this does, lol. #!/bin/bash -> This instruction just says "I'm a shell script, run me with bash please" It's healthy to be skeptical about running code you found randomly on the internet, if you don't know what it does! So here's a brief overview:
