15
내가 bash는 사용하고 싶지 :물고기 쉘에서 if 문에 두 조건을 넣을 수 있습니까?
> if true; then echo y; else echo n; fi
y
> if false; then echo y; else echo n; fi
n
> if false || true; then echo y; else echo n; fi
y
지금 물고기와 노력 :
> if true; echo y; else; echo n; end
y
> if false; echo y; else; echo n; end
n
# Here 'or true' are just two arguments for false
> if false or true; echo y; else; echo n; end
n
# Here 'or true;' is a command inside the if
> if false; or true; echo y; else; echo n; end
n
# Can't use command substitution instead of a command
> if (false; or true); echo y; else; echo n; end
fish: Illegal command name “(false; or true)”
어떻게 내가 if
의 두 가지 조건을 가질 수 있습니까?
접근 방식 중 하나는 아마 내가 무엇을 찾고 있었다,하지만 방법이 아주 시원하지만, 너무 애매했다. – michelpm
동의 함. 나는 왜 접근 방법 2가 실제로 작동하는지 이해할 수 없다. 설명 할 사람이 있습니까? – clozach
매우 간단합니다 : 조건 1 또는 조건 2 중 하나라도 사실이라면 계속 진행됩니다. 즉, 해당 진술과 진술을 입력하고 함께 평가합니다. 로부터의 결과와 진실이기 때문에 마지막 또는 문장을 실행할 필요가 없습니다. 그러나 조건 1과 조건 2가 모두 음수이면 명령문이 일찍 취소되므로 두 번째 부분을 평가할 필요가 없습니다. 해당 명령문의 결과는 false가되고 따라서 마지막 또는 명령문이 실행됩니다. – terje