티스토리 뷰

리눅스/기본

if: Expression Syntax.

Seob 2014. 4. 23. 17:47
반응형


■ 에러


[root@seob ~]# source root.csh

if: Expression Syntax.


파일 내용을 보아도 이상한점이 절대 없었고 계속 에러가 난다.


파일 내용을 보면


[root@seob ~]# cat root.csh

#!/bin/csh

if [ $USER = 'root' ]

then

if [ $SHELL = '/bin/csh' ]

then

source /root/.cshrc

else

echo ""

fi

else

echo ""

fi


root 사용자 일경우 자동으로 .cshrc이 적용되게끔 스크립트를 짜고... source root.csh 해보면.. 위와같이 에러가 뜬다.


sh root.csh 이렇게 해도 되지만 이거 또한 다른 에러가 뜬다.


[root@seob ~]# echo $SHELL

/bin/csh


그래서 내린 결론은 


/bin/csh 환경에서는 source을 사용할 수 없다. 라는건데..


다른 것에 사용해도 된다. 예를 들어 현재 기본 .cshrc 을 source 먹이면 된다.


하지만 if문이 들어가있는 경우에는 csh 환경에서  source 명령어가 먹히지 않는가보다.


해결 방법으로는 그냥 /bin/bash 쓰면 된다.

반응형
댓글
공지사항
최근에 올라온 글