recursive grep

Hi,
on AIX 6.1 , in man document for grep :

 -r
            Searches directories recursively. By default, links to directories are followed.

But when I use :

oracle@XXX:/appli/XXX_SCRIPTS#grep  -r subject *.sh

It returns nothing.
However I have at least one row in a file :

oracle@XXX:/appli/XXX_SCRIPTS#grep subject /appli/XXX_SCRIPTS/CHECK/checkalertlogs/checkalertlog.sh
echo "subject : Erreurs  ORA- dans les alertlog ORACLE sur XXX " >> /appli/XXX_SCRIPTS/CHECK/CHECK/checkalertlogs/rap.txt

Where am I wrong ?

Thank you.

grep doesn't do the glob expansion, your shell does, try

grep -r subject ./

or if you want to restrict the answer to scripts,

grep -r subject ./ | grep ".sh: "

or even

grep subject $(find ./ -name \*.sh)

With GNU grep it would be:

grep -r pattern --include='*.sh'  .

Don't know if AIX's grep supports something silimar.

Otherwise you may try:

find . -type f -name '*.sh' -exec grep pattern {} +

yes, thanks to all.