쉘 프로그래밍(csh)의 정규표현식 질문입니다.

seongwon1의 이미지

안녕하세요?

간단한 쉘프로그래밍을 하나 짜고 있는데요.

입력 받은 argument가 조건을 만족하는지 정규표현식을

이용해서 에러체크를 하려고 하는데, 얘가 말을 안 듣네요.

고수님들의 도움 부탁 드립니다.

제가 구현하고자 하는 부분은 스크립트의 이름이 tmp일 경우

%tmp u=rw,go=rwx 이런식의 값을 넣을 때

argument가 제대로 되어 있는지 확인하고자 하는 겁니다.

참이 될 조건의 예를 들면 u=r,go=r 아니면 u=rw,go=r ......

쉽게 생각하시면 chmod의 조건과 유사하다고 생각하시면 됩니다.

코드를 보자면

#!/bin/csh -f

if ($1 =~ u[=+\-][rwx]\{1,3\},go[=+\-][rwx]\{1,3\}) then
           echo True
else
           echo False
endif

이런식으로 작성을 했는데요.

뭐가 잘못됐는지, -_-; 도저히 모르겠네요.

고수님들의 도움 부탁 드립니다.

좋은 밤 보내시구요.

수고하세요!!!