2013-06-27 3 views
1

:물고기 파이프 라인 상태 물고기에서

if false | true | true 
    echo "Fish thinks OK because of last status" 
else 
    # But I... 
    echo "Need the entire pipeline to be true" 
end 

배쉬는 $ PIPESTATUS있다. Fish의 파이프 라인 무결성을 테스트하는 방법은 무엇입니까?

명확히하려면 ... 예제 파이프 라인에서 true 및 false를 사용하고 있는데, 마지막 구성 요소가 성공한 파이프 라인의 예는 입니다. 부울 명령문이 아닙니다. 일반적으로 파이프 라인의 구성 요소 중 하나라도 실패하면 은 파이프 라인이 실패한 것으로 간주합니다. 그것은 당신이 수동으로 set var (echo $initialinput | firstcommand); and set var (echo $var | secondcommand); and를 통해 파이프를 구성 추한 해결 방법 이외의 (현재는 불가능

+0

나는이 순간에 할 수 없습니다 생각, 참조하십시오. : https://github.com/fish-shell/fish-shell/issues/805 – terje

+0

그래서'false | true ... '는 파이프가 줄 지어있는 명령 집합을위한 자리 표시 자입니까? 아니면 물고기가 논리 및/또는 즉,'&&, ||'이며 여러 프로세스간에 정보를 전달하거나 이전 명령이 실패한 경우 cmd가 실행되지 않도록하려는 귀하의 목표입니까? 행운을 빌어 요. – shellter

+0

물고기는 논리 및/또는 '및' '또는'. 그러나 그것은 현재 파이프를 지원하지 않습니다. 그래서 명령이 파이프되지 않으면'false면 쓸 수 있습니다; 진실하다. 그리고 진실하다. 그들이 파이프로 작업하게되면, 그것은 다음과 같습니다 :'false | 그리고 진실 | 그리고 진실한' – terje

답변