[ 
https://issues.apache.org/jira/browse/KARAF-6254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Baptiste DA ROIT updated KARAF-6254:
------------------------------------
    Description: 
Trying to launch Karaf from default shell (which, from what I uderstand, is 
Bourne Shell) on a Solaris 10 platform results in the following error:
{code:sh}
# ./karaf
./karaf: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue\{code}

On an other hand, running Karaf shell scripts using another shell (as ksh) 
works fine:
{code:sh}
# ksh karaf
{code}

The following shell scripts are impacted:
* client
* inc
* shell 
* start 
* status
* stop

{code:sh}
# ./client
./client: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue

# ./inc
./inc: erreur de syntaxe ligne 77: `MAX_FD_LIMIT=$' inattendue

# ./shell
./shell: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue

# ./start
./start: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue

# ./status
./status: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue

# ./stop
./stop: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue
{code}

This is because these shell scripts uses the *$()* syntax for command 
substitution, which is not compatible with some very oldest of 
non-POSIX-compatible bourne-shells (such as the default Shell of Solaris 10).

To enhance the portability of these scripts, an alternative would be to use the 
legacy command substitution syntax *`...`*. Indeed, while the *$()* syntax is 
recommended as the way to go (mainly because it makes nesting command 
substitutions easier and allows better readibility), the backtick one is still 
valid, even providing better portability.

 
Source: [Why is {{$(...)}} preferred over {{`...`}} 
(backticks)?|http://mywiki.wooledge.org/BashFAQ/082] at BashFAQ

(!) Note that this issue can probably be linked to 
[KARAF-5190|https://issues.apache.org/jira/browse/KARAF-5190].

 

  was:
Trying to launch Karaf from default shell (which, from what I uderstand, is 
Bourne Shell) on a Solaris 10 platform results in the following error:
{code:sh}
# ./karaf
./karaf: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue\{code}

On an other hand, running Karaf shell scripts using another shell (as ksh) 
works fine:
{code:sh}
# ksh karaf
{code}

The following shell scripts are impacted:
* client
* inc
* shell 
* start 
* status
* stop

{code:shell}
# ./client
./client: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue

# ./inc
./inc: erreur de syntaxe ligne 77: `MAX_FD_LIMIT=$' inattendue

# ./shell
./shell: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue

# ./start
./start: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue

# ./status
./status: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue

# ./stop
./stop: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue
{code}

This is because these shell scripts uses the *$()* syntax for command 
substitution, which is not compatible with some very oldest of 
non-POSIX-compatible bourne-shells (such as the default Shell of Solaris 10).

To enhance the portability of these scripts, an alternative would be to use the 
legacy command substitution syntax *`...`*. Indeed, while the *$()* syntax is 
recommended as the way to go (mainly because it makes nesting command 
substitutions easier and allows better readibility), the backtick one is still 
valid, even providing better portability.

 
Source: [Why is {{$(...)}} preferred over {{`...`}} 
(backticks)?|http://mywiki.wooledge.org/BashFAQ/082] at BashFAQ

(!) Note that this issue can probably be linked to 
[KARAF-5190|https://issues.apache.org/jira/browse/KARAF-5190].

 


> Karaf shell scripts don't work on Solaris 10
> --------------------------------------------
>
>                 Key: KARAF-6254
>                 URL: https://issues.apache.org/jira/browse/KARAF-6254
>             Project: Karaf
>          Issue Type: Bug
>    Affects Versions: 4.2.5
>         Environment: Solaris 10 x86-64 using default shell
>            Reporter: Baptiste DA ROIT
>            Priority: Major
>
> Trying to launch Karaf from default shell (which, from what I uderstand, is 
> Bourne Shell) on a Solaris 10 platform results in the following error:
> {code:sh}
> # ./karaf
> ./karaf: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue\{code}
> On an other hand, running Karaf shell scripts using another shell (as ksh) 
> works fine:
> {code:sh}
> # ksh karaf
> {code}
> The following shell scripts are impacted:
> * client
> * inc
> * shell 
> * start 
> * status
> * stop
> {code:sh}
> # ./client
> ./client: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue
> # ./inc
> ./inc: erreur de syntaxe ligne 77: `MAX_FD_LIMIT=$' inattendue
> # ./shell
> ./shell: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue
> # ./start
> ./start: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue
> # ./status
> ./status: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue
> # ./stop
> ./stop: erreur de syntaxe ligne 30: `READLINK_EXISTS=$' inattendue
> {code}
> This is because these shell scripts uses the *$()* syntax for command 
> substitution, which is not compatible with some very oldest of 
> non-POSIX-compatible bourne-shells (such as the default Shell of Solaris 10).
> To enhance the portability of these scripts, an alternative would be to use 
> the legacy command substitution syntax *`...`*. Indeed, while the *$()* 
> syntax is recommended as the way to go (mainly because it makes nesting 
> command substitutions easier and allows better readibility), the backtick one 
> is still valid, even providing better portability.
>  
> Source: [Why is {{$(...)}} preferred over {{`...`}} 
> (backticks)?|http://mywiki.wooledge.org/BashFAQ/082] at BashFAQ
> (!) Note that this issue can probably be linked to 
> [KARAF-5190|https://issues.apache.org/jira/browse/KARAF-5190].
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to