[ https://issues.apache.org/jira/browse/MNG-5852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Osipov updated MNG-5852: -------------------------------- Description: 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. was: 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: $ ./mvn ./mvn[200]: local: not found [No such file or directory] ./mvn[201]: local: not found [No such file or directory] ... 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. > "mvn" script invokes /bin/sh but requires /bin/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: Christian Schulte > Fix For: needing-scrub-3.4.0-fallout > > > 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.4#6332)