OS X's open with support for STDIN
OS X’s open
command is great and I use it many times a day. But several times I’ve stumbled through some command that outputs something only to be reminded once again that open
doesn’t support piping of input. Let’s fix that.
#!/bin/sh
# Put a dash at the end of open to use stdin as arguments
# usage: echo "TextEdit" | open -a -
for last; do true; done
if [ "$last" == '-' ]; then
arg=`cat`
cmd=`echo $@ | sed -e "s/-$/${arg}/"`
/usr/bin/open $cmd
else
/usr/bin/open $@
fi
This add a check to open: If the last argument is a dash (-), then use STDIN as the argument to the original open
.
Put it somewhere that’s in your $PATH
before /usr/bin
is and you’re good!