Sponsored Content
Top Forums Shell Programming and Scripting Interesting TCL behavior: 007 == 7 is true; 008==8 is false. Post 302254405 by fpmurphy on Tuesday 4th of November 2008 10:07:25 AM
Old 11-04-2008
The observed behaviour is correct.

Quote:
A Tcl expression consists of a combination of operands, operators, and parentheses. White space may be used between operands, operators and parentheses; it is ignored by the expression processor. Where possible, operands are interpreted as integer values. Integer values may be specified in decimal (the normal case), in octal (if the first character of the operand is 0), or in hexadecimal (if the first two characters of the operand are 0x).
Changing the value of a to 010 (octal 10) in the second part of your example will cause the if statement to evaluate to true.
Code:
set a 010
set b 8

if { $a == $b } {
   puts "$a equals to $b"
} else {
   puts "$a not equals to $b"
}

 

4 More Discussions You Might Find Interesting

1. AIX

Interesting SMITTY behavior

I have a couple systems that are acting strangely. In 'smitty tcpip' everything is displayed twice. Even going into the submenus (like minimum configuration and startup) everything is displayed twice. Has anyone seen this? Know how to fix it? Thanks (3 Replies)
Discussion started by: pmmill2
3 Replies

2. Solaris

True or false ? - Sun cluster 3.2 U3 questions...

I'm using clustered zones on my machine. i'm only at the test phase of my design and ultimately the oracle zones will be using VxVM. When the testing phase is complete, VxVM will be used in the containers. It is necessary for VxVM to run in the global zone for the containers to use it (is... (5 Replies)
Discussion started by: frustin
5 Replies

3. Shell Programming and Scripting

Bash shell script: Str(007) to int(7),increment it(8) & convert back to string(008)

Hi, I have the following requirement. There will be following text/line in a file (eg: search-build.txt) PRODUCT_VERSION="V:01.002.007.Build1234" I need to update the incremental build number (eg here 007) every time I give a build through script. I am able to search the string and get... (4 Replies)
Discussion started by: drwatson_droid
4 Replies

4. UNIX for Dummies Questions & Answers

Output checker setting variable to TRUE or FALSE

Hi All, I'm trying to come up a way to check the output of some data i have. I need to be able to check for the order of the output and if its correct set a variable to false if it isnt. Currently the data is in the below format, this is the value which should cause the variable be set... (4 Replies)
Discussion started by: mutley2202
4 Replies
machid(1)							   User Commands							 machid(1)

NAME
machid, sun, iAPX286, i286, i386, i486, i860, pdp11, sparc, u3b, u3b2, u3b5, u3b15, vax, u370 - get processor type truth value SYNOPSIS
sun iAPX286 i386 pdp11 sparc u3b u3b2 u3b5 u3b15 vax u370 DESCRIPTION
The following commands will return a true value (exit code of 0) if you are using an instruction set that the command name indicates. sun True if you are on a Sun system. iAPX286 True if you are on a computer using an iAPX286 processor. i386 True if you are on a computer using an iAPX386 processor. pdp11 True if you are on a PDP-11/45tm or PDP-11/70tm. sparc True if you are on a computer using a SPARC-family processor. u3b True if you are on a 3B20 computer. u3b2 True if you are on a 3B2 computer. u3b5 True if you are on a 3B5 computer. u3b15 True if you are on a 3B15 computer. vax True if you are on a VAX-11/750tm or VAX-11/780tm. u370 True if you are on an IBM(R) System/370tm computer. The commands that do not apply will return a false (non-zero) value. These commands are often used within makefiles (see make(1S)) and shell scripts (see sh(1)) to increase portability. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
make(1S), sh(1), test(1), true(1), uname(1), attributes(5) NOTES
The machid family of commands is obsolete. Use uname -p and uname -m instead. SunOS 5.11 5 Jul 1990 machid(1)
All times are GMT -4. The time now is 03:02 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy