ion is unable to pipe to an interactive process and execute it correctly (when using `-c`)
TLDR:
echo 'somthing' | ion -c 'an-interactive-program'
throw an error message like this
ion: pipeline execution error: process (31452) ended by signal SIGTTIN
this seems to happen when piping to an interactive program (i tried -i
too; i got the same error)
i am not sure what's the problem exactly, but here's what's happening.
1 - when running
echo 'foobar' | ion -c 'cat'
foobar
echo 'foobar' | ion -c 'tee > /dev/null'
foobar
ion seems to behave correctly, it connect its standard input to the command's standard input before running it
conclusion: ion correctly pass stdin
2 - when running:
ion -c 'nvim'
ion -c 'fzf'
ion seems to behave correctly again, it just execute the interactive program as expected
conclusion: ion correctly run interactive programs
3 - when running:
echo 'something' | ion -c 'nvim'
echo 'something' | ion -c 'fzf'
ion throw the error mentioned above
conclusion: so ion can pass stdin correctly, it can also run interactive programs correctly, but it can't do both
in other words, ion's -c
option behave correctly with piping as long as the programs is not interactive