명령의 하위 집합을 조건부로 만드는 방법은 무엇입니까?

명령의 하위 집합을 조건부로 만드는 방법은 무엇입니까?

내 질문에 대한 직접적인 답을 찾을 수 없습니다. 아마도 그것을 표현하는 방법이나 올바른 용어를 모르기 때문일 것입니다.

체인 "또는"에서 명령의 하위 집합을 만드는 방법을 찾고 있습니다.

좋다

A && B && (C || D) && E && F

이전 명령의 결과에 따라 다음 명령이 트리거되는지 여부가 결정됩니다.

chef이 경우에는 명령 입니다.

knife vault create

이로 인해 이미 존재하는 Vault를 생성하려고 하면 중단 오류가 발생합니다. 그래서 나도 하고 싶어

knife vault update

knife vault create스크립트에 오류가 발생한 경우

더 큰 개요는 다음과 같습니다.

command1 && \
command2 && \
(knife vault create
or
knife vault update) && \
command4 && \
continuing...

지금까지 작성한 스크립트에는 사례(1)가 거의 없기 때문에 형식을 유지하고 갑자기 if/ else또는 "더 고급"으로 시작하지 않았으면 합니다.

답변1

command1 &&
command2 &&
{ knife vault create ||
knife vault update; } &&
command4 &&
# ...

예:

echo command1 &&
echo command2 &&
{ echo knife vault create ||
echo knife vault update; } &&
echo command4 &&
exit

산출:

command1
command2
knife vault create
command4

echo command1 &&
false &&
{ echo knife vault create ||
echo knife vault update; } &&
echo command4 &&
exit

산출:

command1

if성명:

if echo command1 && false; then
    echo knife vault create ||
    echo knife vault update &&
    echo command4 &&
    exit
fi

관련 정보