麻烦Debian $ PATH

我想我的$ PATH有问题。 我正在运行一个shell脚本,它抱怨说,它不认识命令,即使当我手动运行它。

shell脚本:

#!/bin/bash # DEPLOYMENT USR="test" APP="/srv/www/test" ENV="/srv/www/test/venv" LOG="/var/log" # LOGGING exec > >(tee -a $LOG/log.log) exec 2> >(tee -a $LOG/error.log) # SOFTWARE apt-get update apt-get install -y python-dev build-essential nginx python-pip # PACKAGES pip install virtualenv uwsgi supervisor # ENVIRONMENT mkdir -p $APP virtualenv $VENV source $VENV/bin/activate # FINALIZATION service supervisor restart service nginx restart 

当我运行这个我得到以下错误:

错误日志:

 /root/StackScript: line 22: virtualenv: command not found /root/StackScript: line 23: /bin/activate: No such file or directory supervisor: unrecognized service 

当我手动运行命令“pip”时,说它已被安装并识别。 发生了什么,我该如何诊断?

问题似乎是你没有定义VENV。

/ root / StackScript:第23行:/ bin / activate:没有这样的文件或目录

$VENV正在扩展到没有任何东西,所以$VENV/bin/activate变成/bin/activate并且没有被find。

也许你的意思是

 VENV="/srv/www/test/venv" 

在第6行。