#intro
if [ -n "$1" ]
then
echo 666
else
echo 555
fi
exit;
사실은 하고 싶은데 echo 555
첫 번째 블록에서는 아무것도 하고 싶지 않은데 어떻게 해야 하나요? 직접 삭제할 수 없다는 것을 알았습니다 echo 666
.
답변1
그냥 사용조치 없음:
if [ -n "$1" ]; then
:
else
echo 555
fi
exit
또는 논리를 반대로 바꾸세요.
if [ -z "$1" ]; then
echo 555
fi
exit
답변2
[ -n "$1" ] && echo "666" <= For if part
[ -n "$1" ] || echo "555" <= For else part
답변3
!
조건문 내에서 if 문을 사용하여 if 문을 뒤집을 수 있습니다(이를 "not" 연산자라고 하며 결과의 반대를 취함을 의미함). 이는 다음 과 [ -n "$1" ]
같습니다. [ ! -n "$1" ]
해당 섹션과 동일 합니다 else
.
-z
논리적 반대 대신 이 옵션을 사용하는 것도 -n
유효 -n
하지만 일반적으로 !
else 부분이 일치하는 모든 항목과 항상 일치합니다.