boolean controling var 

Usage 

iitrc:~/temp$ unset sc; [ "$sc" == "1" ] && echo aaa
iitrc:~/temp$ sc=0; [ "$sc" == "1" ] && echo aaa
iitrc:~/temp$ sc=1; [ "$sc" == "1" ] && echo aaa
aaa

Trying History 

iitrc:~/temp$ [ $sc ] && echo aaa
iitrc:~/temp$ sc=1
iitrc:~/temp$ [ $sc ] && echo aaa
aaa
iitrc:~/temp$ sc=0
iitrc:~/temp$ [ $sc ] && echo aaa
aaa

— sc not defined, no show

— sc defined, no matter 0 or 1, show

iitrc:~/temp$ [ \!\$sc ] && echo aaa
aaa
iitrc:~/temp$ sc=1
iitrc:~/temp$ [ \!\$sc ] && echo aaa
aaa

— the same as to !$sc

iitrc:~/temp$ [ $sc == 1 ] && echo aaa
aaa
iitrc:~/temp$ sc=0
iitrc:~/temp$ [ $sc == 1 ] && echo aaa
iitrc:~/temp$

— yeah, this is the right way

iitrc:~/temp$ unset sc
iitrc:~/temp$ [ $sc == '1' ] && echo aaa
[: ==: unary operator expected

— new problem

iitrc:~/temp$ [ $sc ] && [ $sc == '1' ] && echo aaa
iitrc:~/temp$ sc=1; [ $sc ] && [ $sc == '1' ] && echo aaa
aaa
iitrc:~/temp$ sc=0; [ $sc ] && [ $sc == '1' ] && echo aaa
iitrc:~/temp$

— Got it!

documented on: 05-04-99 20:35:04