У меня странная проблема. В php
команда не найдена в одной конкретной ситуации.
Я пытаюсь вызвать команду тремя разными способами. Только один из них не работает:
Быть пользователем john
Я создаю простой скрипт, который вызывает php --version
. Тогда как пользователь root
Я называю этот сценарий так: sudo -u john ./script.sh
Таким образом php
команда не найдена.
Быть root
Я вызываю команду прямо так: sudo -u john php --version
Здесь нет проблем, команда действительно существует.
Я вызываю сценарий напрямую как пользователь john: ./script.sh
Он тоже отлично работает.
Чем это вызвано?
Проблема возникает и с другими пользователями, а не только с john
, и это происходит только на этой конкретной машине.
ОС - CentOS 5.9.
РЕДАКТИРОВАТЬ: Также другие команды, такие как gcc
, perl
или python
не представляют этой проблемы. В php
Команда - единственная, которую я нашел до сих пор с проблемой.
PATH
переменная в качестве интерактивной оболочки. Тип echo $PATH
чтобы увидеть текущую переменную пути, и установите это PATH
переменная внутри скрипта.Что касается того, почему PATH
переменная не согласуется между двумя:
bash
, проконсультируйтесь man bash
и начните читать в INVOCATION
раздел в верхней части файла.