Re: Help - Getting lots of errors from functions and scripts
On 2008-12-22 15:09 +0100, Dennis Wicks wrote:
> When I run anything that is actually a shell script starting with
> #!/bin/sh and maybe any thing that uses a shell function I get five or
> six screens full of messages that look like the following and all
> start with /bin/sh
>
> /bin/sh: _openssl: line 25: syntax error near
> `unexpected token `('
> /bin/sh: _openssl: line 25: ` -@(in|out|oid))'
> /bin/sh: error importing function definition for
> `_openssl'
> /bin/sh: _service: line 4: syntax error in
> conditional expression: unexpected token `('
> /bin/sh: _service: line 4: syntax error near `@(*'
> /bin/sh: _service: line 4: ` [[ ${COMP_WORDS[0]} !=
> @(*init.d/!(functions|~)|service) ]] && return 0;'
>
> One example is /usr/bin/bashbug
These functions seem to be defined in /etc/bash_completion.
> but all scripts that start with #!/bin/sh
> seem to have the problem.
>
> One function that has the problem is one I wrote that does an ls and
> pipes it to less. As follows;
>
> function lm ()
> {
> ls -laNF "$@" | $(which less)
> }
>
>
> Anybody have any idea about what is causing these errors
> or where to look?
Maybe /etc/bash_completion contains some code that bash doesn't like
when it's called as sh. But another question is why a non-interactive
shell even reads that file. That's a misconfiguration for which I don't
really have an explanation.
Sven
Reply to: