쉘 스크립트에서 여러 조건을 체크하고 싶은데요
예를 들어
if [ ! ( 조건문1 -o 조건문2 -o 조건문3 ) ] ; then
위와 같이 표현하고 싶으면 어떡해야 하나요?
괄호는 사용할수 없다고 나오는데.. 비슷한 문법이 있나요?
음..다시 생각해보니 논리에 맞게 해야되겠죠..
원래 조건식을 여러개 쓰시려면
if [ -o condi1 ] && [ -o condi2 ] && [ -o condi3 ] ; then some_do fi
if [ ! -o condi1 ] || [ ! -o condi2 ] || [ ! -o condi3 ]; then some_do fi
ls -al 'happy' | grep 'possible'
A few Good Man
괄호를 쓸 수 없다는 이유가 뭔가요? test(1) 명령은 괄호 처리 지원합니다. 따라서
if [ ! \( 조건문1 -o 조건문2 -o 조건문3 \) ]; then
라고 하면 됩니다.
(...) 대신 \( ... \)를 써야 하는 이유는, ()가 shell이 처리하는 특수 기호라서 test(1) 명령에 직접 전달하기 위해서입니다.
-- C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html Korean Ver: http://cinsk.github.io/cfaqs/
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
이렇게요..
음..다시 생각해보니 논리에 맞게 해야되겠죠..
원래 조건식을 여러개 쓰시려면
해야 되는데..
님이 원한게.. !( -o condi1 && -o condi2 && -o condi3) 이니..
이렇게 해야 될것 같네요..
ls -al 'happy' | grep 'possible'
A few Good Man
괄호를 쓸 수 없다는
괄호를 쓸 수 없다는 이유가 뭔가요? test(1) 명령은 괄호 처리 지원합니다.
따라서
라고 하면 됩니다.
(...) 대신 \( ... \)를 써야 하는 이유는, ()가 shell이 처리하는 특수 기호라서 test(1) 명령에 직접 전달하기 위해서입니다.
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기