system
(또는 백틱을 사용)을 통해 루비에서 명령을 실행하려고하는데 문제가 발생합니다. 명령을 호출하려고하면 쉘이 그것을 찾지 못한다. 비록 내가 직선이라면 그것이 작동한다는 것을 알지만. 예를 들어 :루비 시스템 호출에 사용할 셸을 어떻게 지정합니까?
`zip`
>> sh: zip: command not found
문제는 루비 $PATH
오히려 bash
보다 올바르게 설정되어 있지되는 sh
쉘을 사용하고, 나는 이유를 잘 모르겠습니다 것으로 보인다. 내 응용 프로그램이 실행되는 사용자는 기본적으로 bash
을 사용하도록 설정됩니다.
bash
대신에 sh
을 사용하도록 루비에게 알릴 방법이 있습니까?
그래, 할 수있어. 그 이유는 여러 개발 환경에서 개발되어 모든 경로에서 경로가 동일하지 않기 때문입니다. –
whereis와 같은 명령은 항상 경로에 있어야합니다. 또는 모든 배포판의 공통 위치/usr/bin/whereis 이것은 흩어져있을 수있는 저장소를 찾는 좋은 해결책이 될 수 있습니다. –