<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'><div dir='ltr'>
Try if [ "X01" = "X${date}" ] then if $date is empty you still have "X".<br><br>Al<br><br><br><div>&gt; Date: Wed, 20 Jul 2011 15:22:40 -0400<br>&gt; From: ale-at-ale.org@unpopularminds.org<br>&gt; To: ale@ale.org<br>&gt; Subject: Re: [ale] Bash confusion<br>&gt; <br>&gt; On Wed, Jul 20, 2011 at 01:04:10PM -0400, Brian MacLeod wrote:<br>&gt; &gt; You are doing a string comparison here, so you should take the correct<br>&gt; &gt; precautions:<br>&gt; &gt; &gt; if [ $date = "01" ];<br>&gt; &gt; should be like this:<br>&gt; &gt; if [ "01" = "$date" ];<br>&gt; &gt; Why?<br>&gt; &gt; If for some ungodly reason your variable ends up as null, the whole<br>&gt; &gt; statement (and function, etc) breaks if you have that null in front of<br>&gt; &gt; the equal sign.  Flip that around and it "properly" evaluates even if<br>&gt; &gt; null. Otherwise you'll see things like "unary operator" and such.<br>&gt; &gt; The other thing is making sure you treat your variable as a string,<br>&gt; &gt; thus, quote it so that you are sure it isn't being further evaluated<br>&gt; &gt; and/or evaluated differently.<br>&gt; <br>&gt; Order is irrelevent; quoting the string protects against null values.<br>&gt; <br>&gt;   if [ "$date" = "01" ]<br>&gt; <br>&gt; is safe, while<br>&gt; <br>&gt;   if [ "01" = $date ]<br>&gt; <br>&gt; fails if $date is a null string.<br>&gt; <br>&gt; <br>&gt; Regarding the original problem, as written, yes, it should work. But...<br>&gt; <br>&gt; Are there any commands between the date command and the test? There's no<br>&gt; explicit path used to date - could it be executing a different version of<br>&gt; date which is evaluating improperly? IOW, what are you telling us? ;)<br>&gt; <br>&gt; -L<br>&gt; _______________________________________________<br>&gt; Ale mailing list<br>&gt; Ale@ale.org<br>&gt; http://mail.ale.org/mailman/listinfo/ale<br>&gt; See JOBS, ANNOUNCE and SCHOOLS lists at<br>&gt; http://mail.ale.org/mailman/listinfo<br></div>                                               </div></body>
</html>