On Mon, Jul 18, 2011 at 10:46:19AM -0400, Steven W. Orr wrote:
> On 7/18/2011 10:14 AM, Ralph Corderoy wrote:
>> printf 'foo\nbar\n'>/dev/udp/localhost/4242
>>
>> and two packets are sent, one per line. If the aim is to send a string
>> of data in one packet this causes problems.
>>
>> Using /usr/bin/printf from coreutils gives one write(2), so that's a
>> possible workaround.
> Bash is always running in unbuffered mode, so every time a line is
> written, it automatically gets flushed. So... The only way to write in
> fully buffered mode with control over when things get flushed is to do it
> from a program that is not a bash script.
If it's just about avoiding a different printf command,
printf 'foo\nbar\n' | cat > /dev/udp/localhost/4242
(useful use of cat?) but likely not what the original poster wanted,
that is, avoiding any external command...