我有这个奇怪的问题。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
orpython
不存在这个问题。该php
命令是迄今为止我发现的唯一一个有问题的命令。
PATH
交互式 shell 相同的变量。键入echo $PATH
以查看当前路径变量,并PATH
在脚本中设置此变量。至于为什么
PATH
变量在两者之间不一致:bash
,请参阅文件顶部附近的部分man bash
并开始阅读。INVOCATION