이것은 bash에서 잘 작동하지만 tcsh에서 작동하도록해야합니다. 아래는 내가 코드를 사용한다 :if 문이 tcsh에서 작동하지 않지만 bash에서 잘 작동합니다.
if [ -e ~/test/file ]; then echo 'yes'; else echo | mail -s 'not done' [email protected] ; fi
이 기본 코드 나에게 if: Expression Syntax
를 말하는 오류를 제공합니다.
오류의 의미를 모르겠지만 if 문이 작동하지 않는 이유를 모르겠습니다. 대괄호 앞뒤에 공백이 있습니다. 나는 if (test -f ~/test/file)
을 시도하고 동일한 오류가 발생했습니다.
기본적으로 나는 bash를 사용하므로이 오류는 통찰력을주지 못합니다. 비슷한 사례가 있지만 파일 존재 여부를 확인하는 것과 관련이 없습니다.
참조 : http://www.csem.duke.edu/Cluster/csh_basics.htm#if –
나는 한 줄로 모든 것을 지킬 수있는 방법이 없다. 나는 이것을 한 줄로하고 싶다. – yatici
@yatici : tcsh에서 한 줄짜리'if '를하는 가장 좋은 방법은 [...] 인 경우'sh -c'입니다. 그때 ...; else ...; fi "를 사용하거나, Bash 특정 기능이 필요한 경우'sh -c'를'bash -c'로 대체하십시오. –