When writing bash I make sure to standardize when validating.

I don't use double square brackets [[ unless using special validators  
that require this.

I would recommend that you use the double brackets throughout your script.

Also, when validating I take the extra step and use the following for example:

if ${variable} -eq 0 ]; then

Using the {} around the variable has a special meaning making use that  
only the value is expanded, and it works great.

When troubleshooting scripts I comment our every block making sure the  
results are what I want. Then, I am able to move forth.

Hope this helps.

Saul David Alanis

Quoting Raymond Norton <admin at lctn.org>:

> Bash:
>
> #!/bin/bash -x
>
>
>
>
> On 11/12/2013 10:50 AM, Jake Vath wrote:
>> Are you trying to run this as a Bash script with /#!/bin/bash/ (or  
>> some from of Bash)?
>> or are you trying to run this as a Bourne shell with /#!/bin/sh/  
>> (or some form of Borne)?
>>
>> -> Jake
>>
>>
>> On Tue, Nov 12, 2013 at 9:01 AM, Raymond Norton <admin at lctn.org  
>> <mailto:admin at lctn.org>> wrote:
>>
>>    I run the following script to test if a host is on-line and
>>    trigger a back up if it's alive. Something apparently changed with
>>    the script and it is giving me a "unary operator expected" error
>>    for line 17.
>>
>>    Any ideas what is triggering it?
>>
>>
>>
>>    if [ -f /etc/bacula/ping_check.txt ];
>>    then
>>         FILEDATE=`cat /etc/bacula/ping_check.txt`
>>    else
>>         FILEDATE=0
>>    fi
>>
>>    if [ $NOWDATE -ne $FILEDATE ];
>>    then
>>         if [[ $CMD_RET =~ ", 0% packet loss" ]]
>>         then
>>              echo "$HOST pinged ..."
>>              echo $NOWDATE > /etc/bacula/ping_check.txt
>>            # run backup script
>>             /etc/bacula/backup-host-1
>>
>>         else
>>              echo "$HOST did not ping ..."
>>         fi
>>    fi
>>
>>    exit
>>
>>    --     Raymond Norton
>>    LCTN
>>    952.955.7766 <tel:952.955.7766>
>>
>>    Sent from My Desktop
>>
>>    _______________________________________________
>>    TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
>>    tclug-list at mn-linux.org <mailto:tclug-list at mn-linux.org>
>>    http://mailman.mn-linux.org/mailman/listinfo/tclug-list
>>
>>
>>
>> -- 
>> This message has been scanned for viruses and
>> dangerous content by *MailScanner* <http://www.mailscanner.info/>, and is
>> believed to be clean.
>>
>>
>> _______________________________________________
>> TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
>> tclug-list at mn-linux.org
>> http://mailman.mn-linux.org/mailman/listinfo/tclug-list
>
> -- 
> Raymond Norton
> LCTN
> 952.955.7766
>
> Sent from My Desktop