TEST operator help

Hi

I want to group
like this but syntactic is not right ...

Thanks

if [ $# = 1 -a /("$ACTION" = "PAGE" -o "$ACTION" = "PULSE"/) ]

Like this below does not work properly ..
if [ $# = 1 -a "$ACTION" = "PAGE" -o "$ACTION" = "PULSE" ]
then
:
else
usage
exit 1
fi

try this

if [ $# -eq 1 -a "$ACTION" = "PAGE" -o "$ACTION" = "PULSE" ]

u need to give space before and after [
and when you compare numeric values use -eq and for strings use =

Thanks for reply. Sorry didn't explain it clear. I want to group second expression so that priority was like this
If (expr1=TRUE and expr2=TRUE) second expression is ("$ACTION" = "PAGE" -o "$ACTION" = "PULSE"/)
I put '(' to group the expression but got a syntax error.
I have spaces after/before the '[ ' and ' ]'

Something like this?

if [ $# -eq 1 ] && ([ "$ACTION" = "PAGE" ] || [ "$ACTION" = "PULSE" ]) ; then

Or with the ksh syntax:

if [[ "$A" -eq 2 ]] && [[ "$B" -eq 6  || "$C" -eq 9 ]] ; then

Regards

or:

#!/bin/ksh

ACTION='PULSE'

if [[ $# -eq 1 ]] && [[ ${ACTION} = @(PAGE|PULSE) ]]; then
   echo 'found'
fi

Thanks a lot ... Works !!!