나는 이런 식으로하고 싶다 :
if cmd1 && cmd2
echo success
else
echo epic fail
fi
어떻게해야합니까?
답변
이들은 당신이 필요한 것을해야합니다 :
cmd1 && cmd2 && echo success || echo epic fail
또는
if cmd1 && cmd2; then
echo success
else
echo epic fail
fi
답변
Petr Uzel이 자리에 있지만 마술 $?로 플레이 할 수도 있습니다.
$? 는 마지막으로 실행 된 명령의 종료 코드를 보유하며, 이것을 사용하면 매우 유연하게 스크립트를 작성할 수 있습니다.
이 질문은이 주제에 약간의 영향을 미칩니다 . bash에서? .
cmd1
if [ "$?" -eq "0" ]
then
echo "ok"
else
echo "Fail"
fi
그런 다음 다른 종료 코드에 반응하고 원하는 경우 다른 작업을 수행 할 수도 있습니다.
답변
질문의 의사 코드가 질문의 제목과 일치하지 않습니다.
명령 1이 실패한 경우 실제로 명령 2를 실행하는 방법을 알아야하는 사람은 다음과 같습니다.
cmd1 || cmd2
:이 실행cmd1
되며 실패시 실행됩니다.cmd2
cmd1 && cmd2
:이 실행cmd1
되며 성공하면 실행됩니다.cmd2
cmd1 ; cmd2
:이 작업이 실행 된cmd1
후cmd2
실패 또는 실행 성공에 관계없이 실행cmd1
됩니다.