Use `source /dev/stdin` to execute commands
Let's say there's a command in a file, like a README file, and you don't have any copy or paste tools handy. You can get the command out of the README file with:
> cat README.md | grep "^sed"
sed -ie "s/\(.*\)/Plug '\1'/" .vimbundle.local
Great! Now how do we run it? The source
is generally used to read and execute commands in files, and really /dev/stdin
behaves like a file.
You can use the pipe operator to place the command into stdin and then source
will read from stdin.
> cat README.md | grep "^sed" | source /dev/stdin
A simpler example can be constructed with echoing
> echo "echo 'hi there'"
echo 'hi there'
And
> echo "echo 'hi there'" | source /dev/stdin
hi there
Tweet