[ 
https://issues.apache.org/jira/browse/ACCUMULO-2423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13921122#comment-13921122
 ] 

Mike Drob commented on ACCUMULO-2423:
-------------------------------------

If you're using bash, then there is no reason to not use \[\[. The main 
difference is that \[\[ handles word splitting and empty strings better than 
\[. Example:

{code}
mdrob@mdrob-W530:~$ echo $X

mdrob@mdrob-W530:~$ [[ "" = $X ]] && echo true || echo false
true
mdrob@mdrob-W530:~$ [ "" = $X ] && echo true || echo false
bash: [: : unary operator expected
false
{code}

Regarding = or ==, I personally prefer == because it matches with the numeric 
equality check in ((..)). Using = is fine though, I don't have a strong 
argument there.

> Converge Shell scripts on single implementation
> -----------------------------------------------
>
>                 Key: ACCUMULO-2423
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2423
>             Project: Accumulo
>          Issue Type: Improvement
>    Affects Versions: 1.6.0
>            Reporter: Mike Drob
>         Attachments: ACCUMULO-2423.v1.patch.txt
>
>
> Do we want to have a stated dependency on a particular shell? Most of our 
> scripts explicitly use bash, but some use sh. Most scripts invoke 
> {{#\!/usr/bin/env bash}} but some do {{#\!/bin/bash}} or other crazy things.
> I don't have a particular preference which way we go, but I'd like to see us 
> standardize one way or the other.
> If we use {{/bin/sh}}, then we can run everything through the 
> [checkbashisms|https://wiki.ubuntu.com/DashAsBinSh#I_am_a_developer._How_can_I_avoid_this_problem_in_future.3F]
>  script (also available for other distros)
> If we go the other way, and switch everything to bash, then we can run them 
> through {{ksh -n}} for deprecation warnings. I know that's a different shell, 
> but they're still moderately useful.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to