Tôi đang cố gắng chạy lệnh từ ruby qua system
(hoặc bằng cách sử dụng dấu gạch chéo ngược), nhưng đang gặp sự cố. Khi tôi cố gắng gọi một lệnh, hệ vỏ không thể tìm thấy nó, mặc dù tôi biết nó hoạt động nếu tôi gọi nó là thẳng. Ví dụ:Làm cách nào để chỉ định trình bao để sử dụng cho cuộc gọi hệ thống ruby?
`zip`
>> sh: zip: command not found
Vấn đề có vẻ là ruby đó là sử dụng các sh
vỏ, trong đó $PATH
không được thiết lập một cách chính xác, chứ không phải là bash
, và tôi không chắc chắn lý do tại sao. Người dùng ứng dụng của tôi đang chạy được thiết lập để sử dụng bash
theo mặc định.
Có cách nào để yêu cầu Ruby sử dụng bash
thay vì sh
?
Yah, tôi có thể. Lý do tôi không có là nó đã được phát triển trong nhiều môi trường phát triển, và con đường không nhất thiết phải giống nhau trên tất cả chúng. –
một lệnh như whereis nên luôn luôn ở trong đường dẫn. hoặc phổ biến nơi trong tất cả các distro/usr/bin/whereis này có thể là một giải pháp tốt cho việc tìm kiếm thùng có thể được phân tán. –