실패하는 것처럼 보이는 간단한 코드 블록이 있는데 그 이유가 100% 확실하지 않습니다.
if ! -h /usr/sbin/gitploy; then
curl https://raw.githubusercontent.com/jeremyBass/gitploy/master/gitploy | sudo sh -s -- install
[ -h /usr/sbin/gitploy ] || echoerr "gitploy failed install"
else
gitploy gitploy_update
fi
실패하지만 만약 내가 그렇게 한다면
[ -h /usr/sbin/gitploy ] || echoerr "gitploy failed install"
그것은 그 자체로 잘 작동합니다. 나는 간단한 이유가 있다고 확신합니다. 어떤 아이디어가 있나요?
답변1
이렇게 하면 nested if
블록을 다시 만들어야 합니다. 예를 들면 다음과 같습니다.
if [ ! -h /usr/sbin/gitploy ]; then
curl https://raw.githubusercontent.com/jeremyBass/gitploy/master/gitploy | sudo sh -s -- install
[ -h /usr/sbin/gitploy ] || echoerr "gitploy failed install"
else
gitploy gitploy_update
fi