[[ ]] test always reports a "not found" error in bash shell scrip t
MATTHEWS,MICHAEL (HP-Vancouver,ex1)
mmatthews@hp.com
Thu Jun 26 16:46:00 GMT 2003
Thu 2003/JUN/26 0921 PDT
Hello,
I am porting a Linux build system to Windows XP by using the Cygwin 1.3.22-1
environment (see the attached text file for output from "cygcheck -s -v
-r"). All of the bash shell scripts use the [[ ]] test in if statements,
similar to:
if [[ "$(uname -s)" != "Linux" ]]
then
# Do Cygwin stuff
else
# Do Linux stuff
fi
Whenever I run the script in the Cygwin bash shell, the conditional
executes, but the following error is displayed in the terminal window:
[[: not found
If I replace the double square brackets with single square brackets:
if [ "$(uname -s)" != "Linux" ]
then
# Do Cygwin stuff
else
# Do Linux stuff
fi
I do not get any error message.
I use the [[ ]] test because from what I read about the bash shell
conditional testing, using [[ ]] is better than [ ], since [[ ]] is tested
internally, whereas [ ] is tested in a separate shell with the "test"
command. I would prefer to not have to change all of the test conditionals
in our Linux bash shell scripts from [[ ]] to [ ].
I checked the versions of bash in Cygwin and in Linux and they are:
Cygwin bash version : GNU bash, version 2.05b.0(9)-release
(i686-pc-cygwin)
Linux bash version : GNU bash, version 2.05b.0(1)-release
(i686-pc-linux-gnu)
The version of Linux we are using is Red Hat 8.0 Linux.
-Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cygcheck_2003-06-26_0859.out
Type: application/octet-stream
Size: 23875 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20030626/006db686/attachment.obj>
-------------- next part --------------
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list