Path: utzoo!attcan!uunet!husc6!uwvax!oddjob!uxc!uxc.cso.uiuc.edu!uicsrd.csrd.uiuc.edu!kai From: kai@uicsrd.csrd.uiuc.edu Newsgroups: comp.unix.wizards Subject: Re: CSH Help -- I don't get it ... Message-ID: <43200028@uicsrd.csrd.uiuc.edu> Date: 8 Aug 88 00:12:00 GMT References: <9832@eddie.MIT.EDU> Lines: 32 Nf-ID: #R:eddie.MIT.EDU:9832:uicsrd.csrd.uiuc.edu:43200028:000:620 Nf-From: uicsrd.csrd.uiuc.edu!kai Aug 7 19:12:00 1988 >#!/bin/csh >set x=stuff_and_more >echo try one: >if "$x" =~ "stuff*" echo yes > >echo try two: >alias x 'if "$x" =~ "stuff*" echo yes' >x > >echo try three: >alias x 'if "$x" =~ "stuff"* echo yes' >x Instead, try: #!/bin/csh -f set x = "stuff_and_more" echo "try one:" if ( "$x" =~ stuff* ) echo yes echo "try two:" alias x 'if ( "$x" =~ stuff* ) echo yes' x I didn't know C-shell's if command worked at all without parens. Your problem was the double quotes. Pattern matching in C shell doesn't work when the *pattern* is surrounded with double quotes. Patrick Wolfe (pwolfe@kai.com, kailand!pwolfe)