Linux supervisord仅从根目录运行

Linux supervisord仅从根目录运行,linux,path,root,supervisord,Linux,Path,Root,Supervisord,我正在运行一个AWS Linux AMI。我使用easy_install supervisor安装了supervisord。安装没有问题。但是,我可以让任何一个监控程序运行的唯一方法是在根目录中拥有根权限,并且我必须键入 # /usr/local/bin/supervisord -v 如果我做下面的事情 # cd /usr/local/bin/ # supervisord -v 它不起作用。发生了什么事?因为PATH环境变量不包含/usr/local/bin/路径,所以每当您试图从当前

我正在运行一个AWS Linux AMI。我使用easy_install supervisor安装了supervisord。安装没有问题。但是,我可以让任何一个监控程序运行的唯一方法是在根目录中拥有根权限,并且我必须键入

 # /usr/local/bin/supervisord -v
如果我做下面的事情

 # cd /usr/local/bin/
 # supervisord -v

它不起作用。发生了什么事?

因为PATH环境变量不包含
/usr/local/bin/
路径,所以每当您试图从当前目录调用
supervisord-d
时,它实际上试图引用PATH变量中提到的所有路径中的程序,除了cd/usr/local/bin/

因此,当您将此
/usr/local/bin/
添加到
路径
时,现在它可以在/usr/local/bin/目录中找到程序。从那里它引用程序
supervisord


因此,实际搜索只在PATH环境变量中提到的位置进行。

PATH环境变量是否包含以下路径:
/usr/local/bin/
?检查并编辑/在问题中添加
echo$PATH
的输出。否,/usr/local/bin/不在路径中。我添加了它,现在supervisord命令在根目录中工作,而不添加路径。为什么我必须将路径添加到路径?当我将cd刻录到该目录时,我希望它能够在没有路径设置的情况下工作。