[ https://issues.apache.org/jira/browse/MNG-5852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephen Connolly updated MNG-5852: ---------------------------------- Fix Version/s: (was: 3.5.0-alpha-2) > mvn shell script invokes /bin/sh but requires Bash functions > ------------------------------------------------------------ > > Key: MNG-5852 > URL: https://issues.apache.org/jira/browse/MNG-5852 > Project: Maven > Issue Type: Bug > Components: Command Line > Affects Versions: 3.3.3 > Environment: Solaris 11 > Reporter: Jeffrey Alexander > Assignee: Michael Osipov > Fix For: 3.5.0, 3.5.0-alpha-1 > > > The bin/mvn script uses the "local" command which is a shell builtin of bash > and similar shells, but is not required for POSIX-compliance in sh. When I > attempt to run mvn on my Solaris system, I see the following output: > {noformat} > $ ./mvn > ./mvn[200]: local: not found [No such file or directory] > ./mvn[201]: local: not found [No such file or directory] > ... > {noformat} > Lines 200 and 201 invoke "local" to make local variables to the function. > According to "man bash", this is a shell builtin. However, bin/mvn is > invoked as: > #!/bin/sh > On most flavors of linux, this resolves to bash or dash which probably runs > in a restricted environment after checking to see that its $0 is sh. But on > Solaris's /bin/sh is actually ksh93 for backwards compatibility. > Since "local" is not part of a POSIX-compliant /bin/sh, depending on it in a > script that is invoked with /bin/sh is a bug. -- This message was sent by Atlassian JIRA (v6.3.15#6346)