我想我的 $PATH 有问题。我正在运行一个 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 而没有定义它。
正在
$VENV
扩大到什么都没有,所以$VENV/bin/activate
没有/bin/activate
找到。也许你的意思是
在第 6 行。