Re: Bash-4 breaks $(command) syntax on FreeBSD

2009-03-13 Thread Greg Wooledge
On Thu, Mar 12, 2009 at 05:05:33PM -0400, Gerard wrote: #!/usr/bin/env bash if $(which gpg2); then printf gpg2 located fi The behavior of which(1) is not reliable across platforms. Since you're already using bash, you should consider using one of the bash builtins instead: if command

Re: Bash-4 breaks $(command) syntax on FreeBSD

2009-03-12 Thread Chet Ramey
Gerard wrote: I just installed Bash-4 via the FreeBSD ports system. The installation went fine. However, all of my Bash scripts that use the $(command) syntax now fail with this error message: syntax error near unexpected ')' This isn't useful at all without an example I can use to

Re: Bash-4 breaks $(command) syntax on FreeBSD

2009-03-12 Thread Gerard
On Thu, 12 Mar 2009 16:17:45 -0400 Chet Ramey chet.ra...@case.edu wrote: Gerard wrote: I just installed Bash-4 via the FreeBSD ports system. The installation went fine. However, all of my Bash scripts that use the $(command) syntax now fail with this error message: syntax error near

Re: Bash-4 breaks $(command) syntax on FreeBSD

2009-03-12 Thread Chet Ramey
Gerard wrote: Fair enough. I know that several users of FreeBSD are complaining all ready and have switched back to Bash-3.x. This is a short script, named t.sh that will produce the error message: #!/usr/bin/env bash if $(which gpg2); then printf gpg2 located fi This is

Re: Bash-4 breaks $(command) syntax on FreeBSD

2009-03-12 Thread Gerard
On Thu, 12 Mar 2009 16:17:45 -0400 Chet Ramey chet.ra...@case.edu wrote: [snip] It is now believed that the problem has to do with Yacc on FreeBSD. There is an experimental patch just issued that substitutes 'bison' for 'yacc'. It is being tested right now by some users. I can supply you a copy

Re: Bash-4 breaks $(command) syntax on FreeBSD

2009-03-12 Thread Chet Ramey
Gerard wrote: On Thu, 12 Mar 2009 16:17:45 -0400 Chet Ramey chet.ra...@case.edu wrote: [snip] It is now believed that the problem has to do with Yacc on FreeBSD. There is an experimental patch just issued that substitutes 'bison' for 'yacc'. It is being tested right now by some users.