Summary: I think the post bash script tries to detect stdin the wrong way.
If I run "post -h" I see some examples, to include this:
However if I try it, Solr returns this error: Cannot parse provided JSON: JSON Parse Error: char=<,position=0 BEFORE='<' AFTER='add/>'
I see that post is sending an <add /> in certain cases, but it's not supposed to when the mode is stdin. Looking closer, it appears to be because of this line:
if [[ -s /dev/stdin ]]; then
If I change it to this (which I figured out after googling around; I'm no bash expert!):
if [[ ! -t 0 ]]; then
Apparently '0' represents stdin. It works for me. Timothy Potter might you take a look? I'd be happy to add a formal patch & commit for this trivial change but it really needs other eyes.