Ruby 스크립트에서 "명령을 찾을 수 없음"오류를 캡처하는 방법이 있습니까? 예를 들어, 주어진 :Ruby의 백틱에서 '명령을 찾을 수 없음'오류를 캡처합니까?
output = `foo`
어떻게 트랩 foo
가 설치되어 있지 않은 상황합니까? 나는 rescue
을 예외로 할 수 있다고 예상했으나 1.8.7에서는 작동하지 않습니다. 원하는대로 할 수있는 하위 프로세스를 호출하는 다른 방법이 있습니까? 아니면 다른 접근법이 있습니까?
나의 사과
업데이트, 나는 숨겨진 요구 사항을 언급하는 것을 잊었다 : 나는 인터프리터 따라서 이유를 제외하고, (민감한 데이터를 포함 할 수 있습니다) 사용자에게 명령 줄을 누설하지 않는 것을 선호 포착 방법이 선호된다. 이 문제를 처음부터 해결해 준 것에 대해 사과드립니다.
한 전술을,이다 코드를 실행하려고하기 전에 프리 플라이트 확인을 실행하거나 기능 또는 앱을 찾거나 코드를 먼저 작성해야합니다. ''foo''라고 말하거나 파일 테스트에서 파일의 존재 여부와 실행 파일을 찾는 것은 실제로 명령을 시도하지 않고 계속 진행하는 것이 안전한지 여부를 알려줍니다. 누락 된 기능에 대한 대응 방법을 제어하고 대체 경로로 이동하거나 누락 된 항목이있어 사용자가 진행할 수 없음을 알릴 수 있으므로 사용자 환경이 개선됩니다. –
동의하지만''foo''는 크로스 플랫폼이 아니며, 크로스 플랫폼 방식으로 시도하고 에러를 잡는 것 외의 다른 방법을 생각할 수 없었습니다 ... – kfb