세 가지 변수가 있습니다.
VAR1="file1"
VAR2="file2"
VAR3="file3"
다음 &&
과 같이 if 문에서 and ( ) 연산자 를 사용하는 방법 :
if [ -f $VAR1 && -f $VAR2 && -f $VAR3 ]
then ...
fi
이 코드를 작성하면 오류가 발생합니다. 올바른 방법은 무엇입니까?
세 가지 변수가 있습니다.
VAR1="file1"
VAR2="file2"
VAR3="file3"
다음 &&
과 같이 if 문에서 and ( ) 연산자 를 사용하는 방법 :
if [ -f $VAR1 && -f $VAR2 && -f $VAR3 ]
then ...
fi
이 코드를 작성하면 오류가 발생합니다. 올바른 방법은 무엇입니까?
답변:
따라서 표현이 작동하도록 하려면 &&
for 변경 -a
이 트릭을 수행합니다.
다음과 같이 정확합니다.
if [ -f $VAR1 ] && [ -f $VAR2 ] && [ -f $VAR3 ]
then ....
또는 좋아
if [[ -f $VAR1 && -f $VAR2 && -f $VAR3 ]]
then ....
또는
if [ -f $VAR1 -a -f $VAR2 -a -f $VAR3 ]
then ....
이 질문에서 더 자세한 내용을 찾을 수 있습니다 bash : if 문의 다중 단항 연산자 와 test, [및 [[의 차이점은 무엇입니까? .
&&
및||
단일 브래킷을 통해 표기법-a
과-o
당신이 필요로하는 경우 읽기 어색하고 어려운 얻을 수 있습니다 특히 이후, 그렇지 않으면 두 번째 그래서 첫 번째 표기 휴대용 코드 이동을 작성하는 경우를, 세 번째를 건너 식을 그룹화합니다.