On Wed, Jun 28, 2006 at 12:28:58PM +0100, Alastair McKinstry wrote: > Package: bash > Version: 3.1-4 > Severity: normal > > Try the following script: > > #!/bin/bash > while read r; do > echo "line" > echo $r > done < <(grep root /etc/passwd) > # End of script > > This is a valid script and executes ok, but if run with 'sh -x /tmp/script', > I get: > sh -x /tmp/script > /tmp/script: line 5: syntax error near unexpected token `<' > /tmp/script: line 5: `done < <(grep root /etc/passwd)' I guess this is deliberate; bash -x /tmp/script will work:
If bash is invoked with the name sh, it tries to mimic the startup behavior of historical versions of sh as closely as possible, while conforming to the POSIX standard as well. [...] When invoked as sh, bash enters posix mode after the startup files are read. posix change the behavior of bash where the default operation differs from the 1003.2 standard to match the standard -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]