Hi Greg, thanks for your suggestion. Indeed /bin/sh is not the GNU bash shell on my Solaris system. Thanks, Michela On 4/23/08, Gregory Lee <[log in to unmask]> wrote: > > Michela, > > I think the problem is that /bin/sh on Solaris is probably the original > Bourne shell, not the GNU bash shell (Bourne-Again Shell) commonly used for > /bin/sh in linux distributions. Apparently some of the FSL scripts require > extended syntax that is only supported by bash shell. > > I had the same errors at one point on Ubuntu linux. On Ubuntu versions > since 6.10 /bin/sh links to dash instead of bash by default. I would get > the same failures as you mentioned. Changing the /bin/sh link to point to > /bin/bash instead of /bin/dash fixed the problem for me. > > - Greg > > > > However, I now fixed the problem by changing the shell from: > > > > /bin/sh > > > > to > > > > /bin/bash > > > > in the following scripts: > > > > fsl_sub > > bedpostx > > bedpostx_postproc.sh > > bedpostx_preproc.sh > > bedpostx_datacheck > > bedpostx_single_slice.sh > > > > After these changes, I re-run the evaluation for all FSL programs and it > > seemed to work fine. I reported the output below. > > Don't know if this makes sense. /bin/sh on solaris was not able to > > interpret some command in the above files. Here is just one example of what > > I mean (referring to FSLDIR/bin/bedpostx): > > > > sh couldn't recognize this statement: > > > > if [ ! -e ${subjdir}/bvecs ]; then > > > > but would work with this: > > > > if [ ! -f ${subjdir}/bvecs ]; then > > > > If you have any idea why this happens, it would be very helpful for me! > > Thanks, > > Michela > > > >