Ваш $PATH
беспорядок. Вы показываете bash_profile
, который я предполагаю ~/.bash_profile
, но вы не показываете /etc/profile
или ~/.bashrc
или /etc/bash.bashrc
. Последние два получены при запуске интерактивной оболочки без входа в систему, как вы получаете, когда вы используете Terminal.app. «Профильные» поставляются для оболочек входа в систему. Один может быть источником другого, если они настроены таким образом.
Если у вас есть PATH="something:$PATH"
, который выполняется многократно, потому что у вас есть один или несколько из перечисленных выше файлов, получающих друг друга, это может привести к беспорядку.
Однако проблема с сообщением «плохой интерпретатор» может не иметь никакого отношения к вашему $PATH
. Это сообщение означает, что шебанг (в вашем случае #!/some/path/to/ruby
, я думаю) в файле сценария отличается от того, где фактически установлен Ruby. Вот почему вы часто будете видеть шебанги, которые выглядят как #!/usr/bin/env python
, поэтому env
выяснит через $PATH
, где находится Python (в данном случае).