There's a script in the Arduino stuff that explicitly requires bash (in its shebang) so if bash is not your shell (is not present on the system), then running the script results in an error indicating something like "file not found" but without saying -what- file was not found. Since I could see plain as day that the script I was trying to run was in fact present, this frustrated the daylights out of me for a -very- long time. On my system, the solution was to simply install bash. It doesn't have to be the default shell, it just has to be there and has to be in the normal place (probably /bin/bash). (1)
This is one of the reasons I so hate it when people use the ".sh" file name extension for shell scripts - It implies that whatever shell is currently acting as "sh" will do the job. If it needs bash (and why are you scripting with bashisms?) then name it "somescript.bash". Or just name it "somescript" and we'll all know to go figure out what interpreter it uses. Grrrr! It's like having code comments that say one thing while the actual code does something else.
---
1) It's been several years since I fooled around with Arduino stuff, so I don't remember the name of the script in question, nor even if it had with the ".sh" filename extension, but the fact that it needed bash is forever etched in my brain. Thinking about revisiting the Arduino world, so I'll update here when (if) I get back around to exactly which script is the culprit, if indeed that's still the case.