Возможно, что ваша среда отличается при запуске из Терминала и при двойном щелчке. Попробуйте выполнить which php
и echo $PATH
из терминала, чтобы узнать, в чем заключается сделка.
РЕДАКТИРОВАТЬ 1
Как уже отмечали другие, если ваша «команда не найдена» относится к сценарию оболочки, а не к php, то вы, вероятно, забыли добавить «./» перед именем сценария (т.е. ./test.sh
). Кроме того, не забудьте сделать его исполняемым, вызвав chmod a+x test.sh
. Причина этого заключается в том, что PATH не включает текущий каталог (т. Е. «.»), Потому что это будет представлять угрозу безопасности (например, папки с кучей файлов в них, включая поддельный «ssh», который может затем перехватить ваш пароль). или тому подобное).
РЕДАКТИРОВАТЬ 2
Кроме того, я не знаю о вас, но ${0/%cli/}
оценивается в -bash
из моего Терминала. Вы уверены, что это то, что вы хотели расширить до? Возможно, вам следует указать точное имя файла.