I have been reading about bash this weekend and came to know about FIFOs. After first glance I found similarities between named pipes and golang channel.
FIFOs are created using the mkfifo command.
$ mkfifo test
FIFOs provide a named pipe to shuttle data from one place to another. If we create a FIFO and send some data to it, it will remain blocked forever, until a command tries to read from it. If you are familiar with golang and golang channels, that’s an Unbuffered/synchronous channel. Unbuffered channel blocks until there is a receiver receiving from a channel.
named pipes are very interesting and can be used in some interesting ways.